Myslím, že nějak nezapisujete všechna data do základního souboru.
Vytvořte jednoduchý skript, udělejte jej spustitelný a nastavte základní vzor skriptu.
#!/bin/sh
cat > /tmp/core.$$
Nyní vygenerujte soubor jádra (například spusťte sleep 1243
a stiskněte ctrl+\
) a mělo by to fungovat.
Právě jsem to sám otestoval na svém systému a funguje to bez problémů.
První věc, kterou je třeba zkontrolovat, je příznak záhlaví Elf, který označuje, o jaký druh souboru se jedná. Má čtyři hodnoty – sdílený objekt, nepropojený objekt, spustitelný soubor a výpis jádra. To je s největší pravděpodobností to, co způsobuje chyby gdb.
Zkuste to také prozkoumat pomocí objdump – dokáže rozdělit celý soubor ELF pro analýzu, která část z něj zjevně není dobrá.
Specifikace ELF najdete na https://refspecs.linuxbase.org/elf/elf.pdf