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?


@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


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


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

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.