core file handling unter Ubuntu

Wer sich als SW Entwickler auf einer Ubuntu LTS Plattform wundert, wo den die core files geblieben sind, welche das OS erstellt wenn Programme bestimmte Signale (SIGSEGV,SIGABRT,SIGQUIT,….) empfangen, der sollte mal den Inhalt von

/proc/sys/kernel/core_pattern

anschauen. Der Inhalt

|/usr/share/apport/apport %p %s %c

mit dem einleitenden pipe character, legt fest das entstehende core files direkt als stdin stream dem frontend Programm apport zur Verfügung stehen. Auf der Ubuntu Wiki Seite über das Programm apport ist erklärt, wie das Programm die core Informationen dem User präsentiert. Das Programm führt unter

/var/log/apport.log

alle events. Dort klärt sich auf das Phänomen auf, das core’s von bestimmten Programmen (z.B. im Home-Bereich) ignoriert werden. Prinzipiell werden nur core’s von packetierten Programme oder von Launchpad Applikationen ausgewertete und somit unter /var/crash abgelegt.

Bei eigenen Programmen gibt es die Möglichkeit die Einstellungen von apport in

/etc/apport/crashdb.conf

mit bspw. hooks zu erweitern, oder das Program unterhalb der /opt Struktur abzulegen. Eine Diskussion über das Thema in Bezug auf eigene Programme findet man auf dieser askubuntu Seite.
Die von apport mit weiteren Informationen angereicherten core files, werden zu sog. crash files unterhalb von /var/crash, welche bspw. mit dem Programm apport-retrace untersucht werden können (backtraces ,etc..)

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.