Ich glaube, Sie schreiben irgendwie nicht alle Daten in die Kerndatei.
Erstellen Sie ein einfaches Skript, machen Sie es ausführbar und legen Sie das Kernmuster für das Skript fest.
#!/bin/sh
cat > /tmp/core.$$
Generieren Sie nun eine Kerndatei (führen Sie beispielsweise sleep 1243
aus und drücken Sie ctrl+\
) und es sollte funktionieren.
Ich habe es gerade selbst auf meinem System getestet und es funktioniert ohne Probleme.
Das erste, was zu überprüfen ist, ist das Elf-Header-Flag, das angibt, um welche Art von Datei es sich handelt. Es hat vier Werte – Shared Object, Unlinked Object, Executable und Core Dump. Das ist höchstwahrscheinlich die Ursache für gdb-Fehler.
Versuchen Sie auch, es mit objdump zu untersuchen - es kann die gesamte ELF-Datei auseinandernehmen, um zu analysieren, welcher Teil davon anscheinend nicht gut ist.
Sie finden die ELF-Spezifikation unter https://refspecs.linuxbase.org/elf/elf.pdf