COREDUMPCTL(1) coredumpctl COREDUMPCTL(1)

coredumpctl - Abfragen und Verarbeiten gespeicherter Speicherauszüge und Metadaten

ÜBERSICHT

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.

Hinzugefügt in Version 233.

PID

Die Kennzeichnung des abgestürzten Prozesses.

Hinzugefügt in Version 233.

UID, GID

Die Benutzer- und Gruppenkennzeichner des abgestürzten Prozesses.

Hinzugefügt in Version 233.

SIGNAL

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

Hinzugefügt in Version 233.

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.

Hinzugefügt in Version 233.

EXE

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

Hinzugefügt in Version 233.

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.

Hinzugefügt in Version 215.

info

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

Hinzugefügt in Version 215.

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.

Hinzugefügt in Version 215.

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.

Hinzugefügt in Version 239.

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 JSON-Ausgabe auszuschalten, was die Vorgabe ist).

-1

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

Hinzugefügt in Version 215.

-n ANZ

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

Hinzugefügt in Version 248.

-S, --since

Gibt nur Einträge seit dem angegebenen Datum aus.

Hinzugefügt in Version 233.

-U, --until

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

Hinzugefügt in Version 233.

-r, --reverse

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

Hinzugefügt in Version 233.

-F FELD, --field=FELD

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

Hinzugefügt in Version 215.

-o DATEI, --output=DATEI

Schreibt den Speicherauszug nach DATEI.

Hinzugefügt in Version 215.

--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.

Hinzugefügt in Version 239.

-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.)

Hinzugefügt in Version 248.

--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.

Hinzugefügt in Version 246.

-D VERZ, --directory=VERZ

Verwendet die Journal-Datei im angegebenen VERZ.

Hinzugefügt in Version 225.

--root=WURZEL

Verwendet das Wurzelverzeichnis WURZEL beim Suchen nach Speicherauszügen.

Hinzugefügt in Version 252.

--image=Abbild

Akzeptiert einen Pfad zu einer Plattenabbilddatei oder einem Blockgerätenamen. Falls angegeben, werden alle Aktionen auf das Dateisystem in dem angegebenen Plattenabbild angewandt. Diese Option ist ähnlich zu --root=, agiert aber auf Dateisystemen, die in Plattenabbildern oder Blockgeräten gespeichert sind. Das Plattenabbild sollte entweder nur ein Dateisystem oder eine Reihe von Dateisystemen innerhalb einer GPT-Partitionstabelle enthalten, die der Spezifikation für auffindbare Partitionen[1] folgt. Für weitere Informationen über unterstützte Plattenabbilder, siehe den Schalter von systemd-nspawn(1) mit dem gleichen Namen.

Hinzugefügt in Version 252.

--image-policy=Richtlinie

Akzeptiert gemäß systemd.image-policy(7) eine Abbildrichtlinienzeichenkette als Argument. Die Richtlinie wird bei Aktionen auf dem mittels --image= angegebenen Plattenabbild durchgesetzt, siehe oben. Falls nicht angegeben ist die Vorgabe die Richtlinie »*«, d.h. alle erkannten Dateisysteme im Abbild werden verwandt.

-q, --quiet

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

Hinzugefügt in Version 233.

--all

Schaut in alle verfügbaren Journal-Dateien in /var/log/journal/ (ohne Journal-Namensräume), statt nur in lokale Dateien.

Hinzugefügt in Version 250.

ÜBEREINSTIMMUNG

Eine Übereinstimmung kann Folgendes sein:

PID

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

Hinzugefügt in Version 215.

PROG

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

Hinzugefügt in Version 215.

BEF

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

Hinzugefügt in Version 215.

TREFFER

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

Hinzugefügt in Version 215.

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=.

Hinzugefügt in Version 239.

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     -
Wed …    251609 1000 1000 SIGTRAP missing  /usr/lib64/firefox/firefox     -
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 Speicherauszug basierend auf der PID anzeigen

$ coredumpctl info 6654
           PID: 6654 (bash)
           UID: 1000 (user)
           GID: 1000 (user)
        Signal: 11 (SEGV)
     Timestamp: Mon 2021-01-01 00:00:01 CET (20s ago)
  Command Line: bash -c $'kill -SEGV $$'
    Executable: /usr/bin/bash
 Control Group: /user.slice/user-1000.slice/…
          Unit: user@1000.service
     User Unit: vte-spawn-….scope
         Slice: user-1000.slice
     Owner UID: 1000 (user)
       Boot ID: …
    Machine ID: …
      Hostname: …
       Storage: /var/lib/systemd/coredump/core.bash.1000.….zst (present)
  Size on Disk: 51.7K
       Message: Process 130414 (bash) of user 1000 dumped core.
                Stack trace of thread 130414:
                #0  0x00007f398142358b kill (libc.so.6 + 0x3d58b)
                #1  0x0000558c2c7fda09 kill_builtin (bash + 0xb1a09)
                #2  0x0000558c2c79dc59 execute_builtin.lto_priv.0 (bash + 0x51c59)
                #3  0x0000558c2c79709c execute_simple_command (bash + 0x4b09c)
                #4  0x0000558c2c798408 execute_command_internal (bash + 0x4c408)
                #5  0x0000558c2c7f6bdc parse_and_execute (bash + 0xaabdc)
                #6  0x0000558c2c85415c run_one_command.isra.0 (bash + 0x10815c)
                #7  0x0000558c2c77d040 main (bash + 0x31040)
                #8  0x00007f398140db75 __libc_start_main (libc.so.6 + 0x27b75)
                #9  0x0000558c2c77dd1e _start (bash + 0x31d1e)

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)

1.
Spezifikation für auffindbare Partitionen

ÜBERSETZUNG

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 256.5