Wo legt Ubuntu 14.04 Core-Dateien ab?

20

Ich habe mit ulimit eine unbegrenzte Dateigröße aktiviert:

ulimit -a
core file size          (blocks, -c) unlimited
...

Ich glaube, ich habe einen Core-Dump ausgelöst, aber ich kann die Core-Datei in meinem Zuhause nicht finden, var / ... etc ...

Wissen Sie, wo Ubuntu den Core-Dump-Speicherort konfiguriert?

jcalfee314
quelle
@djf das OP hat nicht angegeben, welches Programm Core-Dumps verursachte. Es kann sein, dass es sich nicht um Programmierercode handelt. Nach allem, was wir wissen, kann es Einigkeit sein.
Rich Homolka
1
Wie ist das eine SuperUser Frage? Hier geht es darum, einen Debugger auszuführen, den nur Programmierer verwenden. Dies sollte zurück nach SO migriert werden.
Homer6

Antworten:

7

Ich denke, das ist mehr ein Linux-Kernel als ein bestimmtes Ubuntu-Ding. Auschecken

cat /proc/sys/kernel/core_pattern

Schauen Sie sich die Manpage der Core-Datei an

Reiche Homolka
quelle
13
Das sagt dir nicht, wo es die Datei ablegt. Die Frage namens Ubuntu 14.04. Es ist überhaupt nicht klar, indem man dem Befehl folgt, in /proc/sys/kernel/core_patterndem man die Datei finden würde.
jcalfee314
1
Für mich verweist dieses Kernel-Pseudofile core_pattern auf ein Programm namens 'apport' ... das weder eine Manpage noch eine hilfreiche Ausgabe hat. Also immer noch auf der Suche nach meinen entleerten Kernen. :(
gojomo
1
apport ist der Standard-Linux-Desktop-Core-Handler, der normalerweise an Ihre Distribution zurückgemeldet wird.
kkron
Wie öffne ich diesen Ordner? cd /usr/share/apport/apportarbeite nicht
Mrgloom
32

Standardmäßig ist der Ubuntu-Kernel so konfiguriert, dass mit apport Coredumps protokolliert werden. Sie können dies durch Überschreiben außer Kraft setzen. /proc/sys/kernel/core_patternWeitere man coreInformationen finden Sie im Abschnitt "Benennen von Core-Dump-Dateien" . Beispielsweise:

echo '/tmp/core.%e.%p.%t' | sudo tee /proc/sys/kernel/core_pattern

Apport schreibt Core-Dumps in /var/crash/_path_to_program.userid.crash, ABER dies wird nur für Anwendungen durchgeführt, die aus den wichtigsten Ubuntu Apt-Repositorys installiert wurden.

Weitere Informationen zu apport: https://wiki.ubuntu.com/Apport

maccam94
quelle
Erstellen Sie eine Datei mit dem Namen ~ / .config / apport / settings mit folgendem Inhalt , um Core-Dumps auch für Nicht-Paket-Programme zu schreiben : [main] unpackaged = true
greuze 31.10.18
Das Ändern des / proc / sys / kernel / core_pattern funktioniert in Ubuntu 18.04 nicht
greuze 31.10.18
1

Auf Ubuntu 16.04.3 LTS befand sich mein Core-Dump unter:

/var/lib/systemd/coredump/core.application-name.0.24d47e89526c4c7e90953998d2c33d1e.19672.1516049424000000000000

Also, um es auszuführen gdb, können Sie ausführen:

apt install gdb gdb /path/to/your/binary/application-name /var/lib/systemd/coredump/core.application-name.0.24d47e89526c4c7e90953998d2c33d1e.19672.1516049424000000000000

Homer6
quelle