Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Nächste Überarbeitung
Vorhergehende Überarbeitung
Letzte ÜberarbeitungBeide Seiten der Revision
software:gdb:coredump [2018-04-13 12:06] – angelegt mgehrig2software:gdb:coredump [2019-02-15 13:38] ditaranto
Zeile 1: Zeile 1:
 ====== Coredump ====== ====== Coredump ======
 ===== Überblick ===== ===== Überblick =====
-Mit den richtigen Vorbereitungen (Siehe Kapitel 'Vorbereitung' weiter unten) erzeugt eine Applikation enen Coredump sobald sie z.B. wegen einem Segfault abstürzt.+Mit den richtigen Vorbereitungen (Siehe Kapitel 'Vorbereitung' weiter unten) erzeugt eine Applikation einen Coredump sobald sie z.B. wegen einem Segfault abstürzt.
  
 Ein Coredump ist ein Speicherabbild des Computers während des Absturzes. Ein Coredump ist ein Speicherabbild des Computers während des Absturzes.
Zeile 11: Zeile 11:
 Ein Coredump kann schnell mehrere hundert Megabyte gross werden. Ein Coredump kann schnell mehrere hundert Megabyte gross werden.
 Auf dieser Seite wird nur erklärt, wie man möglichst einfach die Ursache für Segfault finden kann. Auf dieser Seite wird nur erklärt, wie man möglichst einfach die Ursache für Segfault finden kann.
-Vertieftere Analysen sind aber auch möglich.+Tiefere Analysen sind aber auch möglich.
  
  
Zeile 24: Zeile 24:
  
 **Achtung**: Die Datei wird wegen einem [[https://bugs.launchpad.net/ubuntu/+source/apport/+bug/160999|Bug]] möglicherweise **nicht** überschrieben. Der Coredump muss umbenannt, verschoben oder gelöscht werden, bevor die Applikation neu gestartet wird. **Achtung**: Die Datei wird wegen einem [[https://bugs.launchpad.net/ubuntu/+source/apport/+bug/160999|Bug]] möglicherweise **nicht** überschrieben. Der Coredump muss umbenannt, verschoben oder gelöscht werden, bevor die Applikation neu gestartet wird.
 +
 +
 +===== Analyse des Coredumps =====
 +Der Coredump kann mit dem //gdb// analysiert werden.
 +Dazu wird neben dem Coredump auch die Applikation selbst, also das Binary, benötigt.
 +
 +1.) //gdb// starten\\
 +''gdb </path/to/the/binary> </path/to/coredump>''
 +
 +2.) Segfault analysieren\\
 +''list''\\
 +''backtrace''\\
 +''info locals''\\
 +''print <variablenname>''\\
 +
 +===== Automatisierter Core Dump Report =====
 +
 +[[http://disse.cting.org/2013/01/15/2013-01-15-core-dump-analysis-in-crosscompiled-env|Externer Link]]
 +
 +