Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Beide Seiten der vorigen RevisionVorhergehende Überarbeitung | |||
| software:gdb:coredump [2019-02-15 13:38] – ditaranto | software:gdb:coredump [Unbekanntes Datum] (aktuell) – gelöscht - Externe Bearbeitung (Unbekanntes Datum) 127.0.0.1 | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| - | ====== Coredump ====== | ||
| - | ===== Überblick ===== | ||
| - | Mit den richtigen Vorbereitungen (Siehe Kapitel ' | ||
| - | |||
| - | Ein Coredump ist ein Speicherabbild des Computers während des Absturzes. | ||
| - | Damit lässt sich nach dem Absturz die Ursache des Absturzes ermitteln. | ||
| - | |||
| - | Um einen Coredump zu erzeugen wird der //gdb// nicht benötigt. | ||
| - | Der //gdb// kann aber genutzt werden, um den Coredump zu analysieren. | ||
| - | |||
| - | 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. | ||
| - | Tiefere Analysen sind aber auch möglich. | ||
| - | |||
| - | |||
| - | ===== Vorbereitung ===== | ||
| - | Die Applikation unter Test muss mit Debug Symbolen kompiliert werden. | ||
| - | Mehr dazu im [[software: | ||
| - | |||
| - | Zusätzlich muss für den Coredump Speicher freigegeben werden. | ||
| - | Dazu muss, in der **gleichen** Shell in der auch die Applikation gestartet wird, '' | ||
| - | |||
| - | Wenn die Applikation jetzt abstürzt, erzeug sie eine Datei mit dem Namen '' | ||
| - | |||
| - | **Achtung**: | ||
| - | |||
| - | |||
| - | ===== 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\\ | ||
| - | '' | ||
| - | |||
| - | 2.) Segfault analysieren\\ | ||
| - | '' | ||
| - | '' | ||
| - | '' | ||
| - | '' | ||
| - | |||
| - | ===== Automatisierter Core Dump Report ===== | ||
| - | |||
| - | [[http:// | ||
| - | |||