Was ist ein Debugger?
Ein Debugger ist ein Softwaretool mit dem Programmierer Fehler (englisch „Bugs“) im Programmcode aufspüren. Meist ist es Bestandteil einer Entwicklungsumgebung. Es kommt während der Entwicklung zum Einsatz und hilft bei der fehlerfreien Programmierung und Diagnose. Beispielsweise lassen sich mit einem Debugger die Zustände von Variablen während der Laufzeit abfragen. Für die schrittweise Ablaufkontrolle kann der Entwickler den Programmcode Zeile für Zeile ausführen und so das korrekte Verhalten sicherstellen. Debugger dienen hauptsächlich der Diagnose von Fehlern in Programmen, jedoch auch der erforderlichen Hardware.
Welche Funktionen kennzeichnen einen Debugger?
Durch das Setzen von Haltepunkten lässt sich der Programmablauf durch den Programmierer steuern und die Befehle werden in einzelnen Schritten verarbeitet. Dabei inspiziert der Entwickler die Daten und kommt Fehlern in der Programmierung auf die Schliche. Je nach Debugger ist es zudem möglich, Fehlerzustände aufzufangen. Das Programm läuft dann zum Beispiel nach Anzeige einer Fehlermeldung weiter. Wird ein System aus der Ferne analysiert, handelt es sich um Remote-Debugging. Das Debuggen einer virtuellen Maschine ist eine Zwischenform der beiden Varianten. Die Verwendung moderner Debugger ermöglicht teilweise das Verändern des Quelltexts während der Laufzeit und eine direkte Fortsetzung des Programms, dies bezeichnen Entwickler als „just in time debugging“. Für das bessere Verständnis von Fremdprogrammmen eignet sich das Debuggen durch Reverse Engineering.