Mobile-Menu

Fehlerbeseitigung Was ist Debugging?

Von Dipl.-Ing. (FH) Stefan Luber 2 min Lesedauer

Anbieter zum Thema

Debugging ist im Software- und Computerumfeld der Vorgang des Identifizierens und Beseitigens von Fehlern in einem Programmcode. Es handelt es sich um einen wichtigen Arbeitsschritt in der Software-Entwicklung. Für das Debugging kommen häufig spezielle Tools zum Einsatz, die als Debugger bezeichnet werden.

Die wichtigsten IT-Fachbegriffe verständlich erklärt.(Bild:  © aga7ta - Fotolia)
Die wichtigsten IT-Fachbegriffe verständlich erklärt.
(Bild: © aga7ta - Fotolia)

Der Begriff Debugging leitet sich vom englischen Wort bug ab, das im Deutschen „Käfer“ bedeutet. Im Software-Umfeld wird der Begriff Bug als Synonym für einen Programm- oder Codefehler verwendet. Debugging bedeutet dementsprechend das Entfernen von Fehlern in einem Programmcode. Der Begriff Debugging wird aber manchmal auch für das Suchen und Beseitigen von Hardware-Fehlern verwendet. In der Regel ist das Debugging aber auf den Software-Bereich bezogen.

Debugging ist ein systematischer, mehrstufiger Prozess, der Software-Fehler aufspürt, analysiert und behebt. Es handelt sich um einen im Software-Entwicklungsbereich unverzichtbaren Entwicklungsschritt zur Isolation und Beseitigung von Fehlern im Programmcode. Programmierer müssen daher neben dem Erstellen von Programmcode auch das Debuggen ihres Programmcodes beherrschen.

Debugging-Prozessablauf und Debugging-Techniken

Das Debugging erfolgt in mehreren aufeinanderfolgenden Schritten. Zunächst wird versucht, ein zuvor – zum Beispiel in einem Test oder im produktiven Einsatz – aufgefallenes Problem oder unerwünschtes Verhalten zu reproduzieren. Anschließend identifiziert ein Entwickler den Fehler und begrenzt den Bereich des Programmcodes, der den Fehler enthält. Im nächsten Schritt wird der fehlerhafte Programmcode oder Programmbereich genauer analysiert, um herauszufinden, wie sich der Fehler beheben oder umgehen lässt. Nach dieser Analyse kann der Fehler beseitigt oder umgangen werden. In einem letzten Schritt erfolgt die Validierung, ob das Fehlverhalten weiterhin auftritt oder tatsächlich behoben werden konnte.

Für das Debugging können verschiedene Techniken zum Einsatz kommen. So wird beispielsweise zwischen dem statischen Debugging, dem Print-Debugging (Tracing), dem Remote-Debugging und anderen Debugging-Techniken unterschieden.

Als statisches Debugging bezeichnet man die Untersuchung und Fehlersuche im Programmcode, während dieser nicht ausgeführt wird. Beim Print-Debugging oder Tracing werden live ausgegebene oder aufgezeichnete Trace- oder Print-Anweisungen beobachtet, die die Ausführung eines Prozesses und den Datenfluss aufzeigen und so eine Fehlersuche ermöglichen. Das Remote-Debugging einer Anwendung findet in einer anderen Umgebung statt als in derjenigen, in der die Anwendung ausgeführt wird.

Debugger – Werkzeuge für das Debugging

Das Debugging wird in der Regel durch entsprechende Software-Tools unterstützt. Diese Debugging-Werkzeuge werden als Debugger bezeichnet. Debugger können sehr unterschiedlich sein, bieten in der Regel aber häufig folgende typische Funktionen zur Unterstützung der Fehlerlokalisierung und -beseitigung:

  • Steuerungsfunktionen des Programmablaufs und Datenflusses zum Beispiel durch Haltepunkte,
  • Einzelschrittverarbeitung von Befehlen,
  • Überwachung des Programm- und Datenflusses,
  • Anzeige und Manipulation aktueller Speicher-, Variablen- und Datenwerte,
  • Modifizieren von Ein- und Ausgabezuständen,
  • Erstellung und Analyse von Datenflussdiagrammen,
  • Erstellung und Analyse von Speicher-Dumps.

(ID:50248385)

Jetzt Newsletter abonnieren

Täglich die wichtigsten Infos zu Data-Storage und -Management

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung. Die Einwilligungserklärung bezieht sich u. a. auf die Zusendung von redaktionellen Newslettern per E-Mail und auf den Datenabgleich zu Marketingzwecken mit ausgewählten Werbepartnern (z. B. LinkedIn, Google, Meta).

Aufklappen für Details zu Ihrer Einwilligung