Debugging
IT-Glossar

Was ist Debugging?

Der Begriff Debugging bezeichnet in der IT allgemein das Beseitigen von Fehlern — sogenannten Bugs — in einem Programm. Dies beginnt immer mit einer entsprechenden Diagnostik. Aber was ist Debugging genau, wie funktioniert es, und welche Bedeutung hat es in der Anwendungsmodernisierung? Das lesen Sie im folgenden Glossar-Artikel.

Debugging — Bedeutung und Methoden

Die Suche und Analyse von Fehlern oder unerwarteten Ausgaben einer Software gehört zu den wichtigsten Aufgaben eines Entwicklers. Angesichts immer komplexer werdender Programme nimmt sie heute oftmals sogar mehr Zeit in Anspruch, als die eigentliche Entwicklung. Das Debugging findet in der Regel in vier Schritten statt:

  1. Identifizierung des Problems
  2. Isolierung der Ursache
  3. Fehlerbehebung oder Einrichtung eines Workarounds
  4. Test der implementierten Maßnahmen

Im ersten Schritt wird üblicherweise versucht, einen von der Software gemeldeten Fehler zu reproduzieren. Gelingt dies, und ist der Bug damit identifiziert, muss seine Ursache gefunden werden. Fehler in Tausenden Zeilen Code können minimal sein und dennoch große Auswirkungen haben. Um den Programmierer bei der Analyse zu unterstützen, gibt es verschiedene Tools, die so genannten Debugger. In einer integrierten Entwicklungsumgebung (IDE) gibt es dafür einen designierten Debug-Modus.

Die meisten Debugger arbeiten mit Hilfe von Breakpoints, also Haltepunkten, die die Ausführung eines Programms an bestimmten Stellen unterbrechen, um das identifizierte Problem zu isolieren. Auch können durch den Entwickler bestimmte Variablen im Code untersucht und gegebenenfalls ausgetauscht werden. Sogar einzelne Prozesse oder Codezeilen können bei Bedarf separat ausgeführt oder verändert werden. So kann die Ursache des Ausgabefehlers nach und nach genau eingegrenzt werden, um sie anschließend zu eliminieren.

Welche Rolle spielt das Debugging in der Anwendungsmodernisierung?

In Modernisierungsprojekten, die auf einer automatisierten Software-Migration basieren, gibt es ein erweitertes Verfahren für das Debugging. Ein identifiziertes Problem darf dann nicht nur lokal gelöst werden, sondern muss immer im Kontext des gesamten Quellcodes analysiert und automatisiert behoben werden. Diese Vorgehensweise basiert auf der Annahme, dass der ursprüngliche Legacy-Quellcode korrekt funktionierte und die automatisierte Übertragung in die neue Umgebung fehlerhaft erfolgte. Tritt dann an einer Stelle ein Fehler auf, kann davon ausgegangen werden, dass das fehlerhafte Quellcodemuster auch an anderen Stellen vorhanden ist. Mit fortgeschrittenen Debugging-Methoden und Werkzeugen wie dem .NET Compiler Roslyn werden diese Fehler anschließend umfassend beseitigt.

Sie interessieren sich für Anwendungsentwicklung und Softwaremodernisierung? Neben diesem Beitrag zu Debugging finden Sie weitere Erläuterungen und Begriffsklärungen in unserem IT-Glossar!