GNU Debugger lernt Rückwärtslaufen

Der Debugger des GNU-Projekts kann in Version 7 Programme nicht nur vorwärts, sondern auch rückwärts durchlaufen - zumindest auf Intel-Architekturen.

In Pocket speichern vorlesen Druckansicht 114 Kommentare lesen
Lesezeit: 1 Min.
Von
  • Christian Kirsch

Eine der Neuerungen im freien GNU Debugger GDB 7 ist "Reverse Debugging": Auf Plattformen, die diese Funktion unterstützen, kann der Debugger den untersuchten Code von der aktuellen Position aus rückwärts ausführen – auch schrittweise. Dies funktioniert zurzeit unter anderem auf den Plattformen i386-linux und amd64-linux.

Auf geeigneten Architekturen lässt sich die Programmausführung mit dem neuen GDB aufzeichnen und später wieder abspielen ("processs record and replay"). Auch dabei kann man zwischen Vorwärts- und Rückwärtsgang wechseln.

Neu ist ebenfalls eine Schnittstelle für die JIT-Übersetzung (Just in Time). Solche Compiler können Symboldateien für die Prozesse im Speicher erzeugen und den GDB darüber informieren. Anwender des Debuggers sollen davon nichts bemerken, Compiler-Entwickler müssen ihre Software jedoch geeignet erweitern. Bislang gibt es nur im JIT-Compiler des LLVM-Projekts eine solche Anpassung.

Eine neue Scripting-Schnittstelle erlaubt den Einsatz von Python zur Steuerung des GDB. Sie muss beim Übersetzen des Debuggers aktiviert werden.

Die NEWS-Datei enthält eine Liste aller Änderungen. Quellen und Dokumentation des Debuggers stehen ebenfalls online zur Verfügung.


(ck)