EMZETT.
Login

Debugger und Core Dumps

Kurz: Ein Debugger lässt ein Programm Schritt für Schritt laufen, damit man Variablen ansehen kann. Ein Core Dump ist ein Abbild des Speichers eines abgestürzten Programms zur späteren Analyse.

Genauer: Mit Haltepunkten (Breakpoints) hält der Debugger das Programm an einer Zeile an. Dann kann man Werte lesen, Aufrufstapel ansehen und Zeile für Zeile weitergehen. Core Dumps ermöglichen das auch nach dem Absturz auf einem anderen Rechner.

Im Detail

  • Befehle (gdb): break datei.c:42, run, next, step, print x, backtrace.
  • Bedingte Haltepunkte: Anhalten nur, wenn zum Beispiel i == 1000 gilt.
  • Watchpoints: Anhalten, sobald sich eine Variable ändert.
  • Core Dump: Unter Linux mit ulimit -c unlimited aktivieren, dann gdb programm core.
  • Debug-Symbole: Mit -g kompilieren, damit Namen und Zeilen sichtbar sind.
  • Andere Sprachen: IDEs und Browser-Entwicklerwerkzeuge bieten dieselben Funktionen grafisch.

Siehe auch: Profiling und Flame Graphs