COREDUMPCTL(1) coredumpctl COREDUMPCTL(1)

coredumpctl - Abfragen und Verarbeiten gespeicherter Speicherauszüge und Metadaten

coredumpctl [OPTIONEN…] {BEFEHL} [PID|PROG|BEF|TREFFER…]

coredumpctl ist ein Werkzeug, das zur Abfrage und Verarbeitung von durch systemd-coredump(8) gespeicherten Speicherauszügen und Metadaten verwandt werden kann.

Die folgenden Befehle werden verstanden:

list

Listet im Journal eingesammelte Speicherauszüge auf, die auf angegebene Charakteristika passen. Falls kein Befehl angegeben ist, ist dies die implizierte Vorgabe.

Die Ausgabe soll menschenlesbar sein und enthält eine Tabelle mit den folgenden Spalten:

TIME

Der Zeitstempel des Absturzes, wie vom Kernel gemeldet.

PID

Die Kennzeichnung des abgestürzten Prozesses.

UID, GID

Die Benutzer- und Gruppenkennzeichner des abgestürzten Prozesses.

SIGNAL

Das Signal, das den Prozess zum Absturz brachte, falls zutreffend.

COREFILE

Informationen, ob der Speicherauszug gespeichert wurde und ob er noch zugreifbar ist: »none« bedeutet, dass der Speicherauszug nicht gespeichert wurde, »-« bedeutet, dass er nicht verfügbar war (weil der Prozess beispielsweise nicht durch ein Signal beendet wurde), »present« bedeutet, dass der aktuelle Benutzer auf den Speicherauszug zugreifen kann, »journal« bedeutet, dass der Speicherauszug im »journal« gespeichert wurde, »truncated« ist das gleiche wie die vorherigen zwei, aber der Speicherauszug war zu groß und wurde nicht als Ganzes gespeichert, »error« bedeutet, dass auf die Speicherauszugsdatei nicht zugegriffen werden kann, wahrscheinlich aufgrund nicht ausreichender Rechte und »missing« bedeutet, dass der Speicherauszug in einer Datei gespeichert wurde, aber die Datei wurde danach entfernt.

EXE

Der komplette Pfad zum Programm. Für Backtraces von Skripten ist dies der Name des Interpreters.

Es ist gut zu wissen, dass verschiedene Beschränkungen für Daten, die im Journal gespeichert werden und für Speicherauszüge, die in /var/lib/systemd/coredump abgelegt sind, gelten. Lesen Sie den Überblick in systemd-coredump(8). Daher ist es gut möglich, dass ein bestimmter Speicherauszug noch im Journal aufgeführt ist, obwohl die entsprechende Speicherauszugsdatei bereits entfernt wurde.

info

Zeigt detaillierte Informationen über den neusten Speicherauszug an, der auf die angegebenen Charakteristika passt und im Journal gesammelt wurde.

dump

Extrahiert den neusten Speicherauszug, der auf die angegebenen Charakteristika passt. Der Speicherauszug wird auf die Standardausgabe geschrieben, außer eine Ausgabedatei wurde mit --output= angegeben.

debug

Ruft einen Debugger auf den neusten Speicherauszug auf, der auf die angegebenen Charakteristika passt. Standardmäßig wird gdb(1) verwandt. Dies kann mittels der Option --debugger= oder der Umgebungsvariable $SYSTEMD_DEBUGGER geändert werden. Verwenden Sie die Option --debugger-arguments=, um zusätzliche Befehlszeilenargumente an den Debugger zu übergeben.

Die folgenden Optionen werden verstanden:

-h, --help

Zeigt einen kurzen Hilfetext an und beendet das Programm.

--version

Zeigt eine kurze Versionszeichenkette an und beendet das Programm.

--no-pager

Leitet die Ausgabe nicht an ein Textanzeigeprogramm weiter.

--no-legend

Gibt die Legende nicht aus, d.h. die Spaltenköpfe und die Fußzeile mit Hinweisen.

--json=MODUS

Zeigt die Ausgabe als JSON formatiert. Erwartet entweder »short« (für die kürzest mögliche Ausgabe ohne unnötigen Leerraum oder Zeilenumbrüche), »pretty« (für eine schönere Version der gleichen Ausgabe, mit Einzügen und Zeilenumbrüchen) oder »off« (um die Vorgabe (JSON-Ausgabe) auszuschalten).

-1

Nur Informationen über den neusten Speicherauszug anzeigen, statt alle bekannten Speicherauszüge aufzulisten. (Äquivalent zu --reverse -n 1.)

-n ANZ

Höchstens die angegebene Anzahl von Einträgen anzeigen. Der angegebene Parameter muss eine Ganzzahl größer oder gleich 1 sein.

-S, --since

Gibt nur Einträge seit dem angegebenen Datum aus.

-U, --until

Gibt nur Einträge bis zu dem angegebenen Datum aus.

-r, --reverse

Invertiert die Ausgabe, so dass die neusten Einträge zuerst dargestellt werden.

-F FELD, --field=FELD

Gibt alle möglichen Datenwerte aus, die das angegebene Feld beim Abgleich von Speicherauszugseinträgen im Journal akzeptiert.

-o DATEI, --output=DATEI

Schreibt den Speicherauszug nach DATEI.

--debugger=DEBUGGER

Verwendet den angegebenen Debugger für den Befehl debug. Falls nicht übergeben und $SYSTEMD_DEBUGGER nicht gesetzt ist, dann wird gdb(1) verwandt.

-A ARG, --debugger-arguments=ARG

Die angegebene ARG als zusätzliche Befehlszeilenargumente an den Debugger übergeben. Wenn ARG Leerraumzeichen enthält, müssen Sie geeignet englische Anführungszeichen verwenden. (Siehe Beispiele.)

--file=GLOB

Akzeptiert einen Datei-Glob als Argument. Falls angegeben, wird Coredumpctl auf den auf GLOB passenden Journal-Dateien statt den vorgegebenen Laufzeit- und System-Journal-Pfaden arbeiten. Kann mehrfach angegeben werden, dann werden Dateien geeignet verschachtelt.

-D VERZ, --directory=VERZ

Verwendet die Journal-Datei im angegebenen VERZ.

-q, --quiet

Unterdrückt informelle Meldungen über fehlenden Zugriff auf Journaldateien und möglicherweise gerade ablaufende Speicherauszüge.

Eine Übereinstimmung kann Folgendes sein:

PID

Prozesskennung des Prozesses, der den Speicherauszug erzeugte. Eine Ganzzahl.

PROG

Name des Programms (passt auf COREDUMP_COMM=). Darf keinen Schrägstrich enthalten.

BEF

Pfad zu dem Programm (passt auf COREDUMP_EXE=). Muss mindestens einen Schrägstrich enthalten.

TREFFER

Allgemeiner-Journalctl-Treffer-Filter, muss ein Gleichheitszeichen (»=«) enthalten. Siehe journalctl(1).

Im Erfolgsfall wird 0 zurückgeliefert; andernfalls wird ein von Null verschiedener Fehler-Code zurückgeliefert. Werden keine passenden Speicherauszüge gefunden, wird dies als Fehler betrachtet.

$SYSTEMD_DEBUGGER
Verwendet den übergebenen Debugger für den Befehl debug. Siehe die Option --debugger=.

Beispiel 1. Alle Speicherauszüge eines Programms auflisten
$ coredumpctl list /usr/lib64/firefox/firefox
TIME     PID  UID  GID SIG     COREFILE EXE                         SIZE
Tue …   8018 1000 1000 SIGSEGV missing  /usr/lib64/firefox/firefox   n/a
Wed … 251609 1000 1000 SIGTRAP missing  /usr/lib64/firefox/firefox   n/a
Fri … 552351 1000 1000 SIGSEGV present  /usr/lib64/firefox/firefox 28.7M

Das Journal hat drei Einträge, die sich auf /usr/lib64/firefox/firefox beziehen und nur beim letzten Eintrag ist eine Speicherauszugsdatei (in externem Speicher auf Platte) verfügbar.

Beachten Sie, dass coredumpctl Zugriff auf die Journal-Dateien haben muss, um die relevanten Einträge aus dem Journal herauszuholen. Daher wird ein nicht privilegierter Benutzer normalerweise nur die Informationen über abstürzende Programme dieses Benutzers sehen.

Beispiel 2. Gdb auf den letzten Speicherauszug anwenden

$ coredumpctl debug

Beispiel 3. Gdb verwenden, um die vollständigen Registerinformationen des letzten Speicherauszugs anzuzeigen

$ coredumpctl debug --debugger-arguments="-batch -ex 'info all-registers'"

Beispiel 4. Informationen über den Prozess mit der PID 6654, der einen Speicherauszug erstellte, anzeigen

$ coredumpctl info 6654

Beispiel 5. Den neusten Speicherauszug aus /usr/bin/bar in eine Datei namens bar.coredump extrahieren

$ coredumpctl -o bar.coredump dump /usr/bin/bar

systemd-coredump(8), coredump.conf(5), systemd-journald.service(8), gdb(1)

Die deutsche Übersetzung dieser Handbuchseite wurde von Helge Kreutzmann <debian@helgefjell.de> erstellt.

Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen.

Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die Mailingliste der Übersetzer.

systemd 248