Debugging
Der Begriff Debugging kommt aus dem Englischen. Ein Bug ist ein Fehler in der Programmierung, das Debugging stellt die Behebung dieses Fehlers dar. Der Debugger selbst ist ein Werkzeug für Programmierer, das speziell dem Auffinden von Fehlern in Computersystemen dient. Eingesetzt werden diese Werkzeuge sowohl bei Programmen als auch bei der Ausführung von betroffener Hardware.
Allgemeine Informationen zum Thema
Der Begriff Debugger geht auf das Jahr 1947 zurück. Im Zuge von Arbeiten am „Mark II“ wurde ein Computer lahmgelegt, weil eine Motte sich darin verirrt hatte. Nach diesem Computerausfall wurde das Wort „Bug“, also „Fehler“, geprägt.
Debugger kommen meist zum Einsatz, wenn es um die Wartung oder Entwicklung von Software geht. Programmierer setzen Debugger in ihrer Entwicklungsarbeit ein, um schon zu einem frühen Zeitpunkt Fehler zu finden und zu beheben. Mit Hilfe von Debuggern können Inhalte der Variablen untersucht und auf Fehler überprüft werden.
Damit ein Programm überhaupt debuggt werden kann, sind Debug-Informationen notwendig. Damit sind Zusatzinformationen gemeint, die der Debugger braucht, um den Programmaufbau beurteilen zu können. Debugging kann auf direktem Weg über den Chip als On-Chip-Debugging durchgeführt werden. Dafür wird eine Schnittstelle zu einer Logik mit Debugging-Funktionen benötigt. Dank der On-Chip-Methode besteht die Möglichkeit des Zugriffs auf Speicherbereiche und CPU-Register. Auch die Durchführung von Softwaretests ist mit der Hilfe von Debuggern möglich[1].
Funktionsweise von Debuggern
Da insbesondere bei der Entwicklung von Software immer wieder Fehler auftreten, sind Debugger faktisch unverzichtbar. Dabei steht weniger die Aufgabe im Vordergrund, fehlerhafte Abläufe zu ermitteln, sondern die Frage nach der Ursache dieser Fehler.
Denn bekanntlich reicht beim Programmieren schon ein falsch verwendeter Operator oder eine nicht korrekt gesetzte Klammer aus, um Programme so empfindlich zu stören, dass sie in ihrer Funktionsweise eingeschränkt sind. Die manuelle Suche von hunderten oder tausenden Zeilen Code ist nicht nur mühselig und zeitintensiv, sondern darüber hinaus oftmals zum Scheitern verurteilt.
Ausgereifte Debugger sind in der Lage, genaue Angaben zu auftretenden Fehlern zu machen und außerdem in vielen Fällen auch die Codezeile zu finden, in der der Fehler auftaucht. Dabei arbeiten sich Debugger nach und nach durch die betroffenen Programmcodes und definieren Haltepunkte, also Breakpoints. Das Debugging-Werkzeug erkennt die Haltepunkte und kann die Software an den problematischen Stellen stoppen. Daraus folgen für den Entwickler zwei Optionen:
- Er kann das Programm ab dem betroffenen Haltepunkt abspielen, um eine Eingrenzung eventueller Fehlerquellen oder anderer Probleme vorzunehmen.
- Er kann den genauen Zustand eines Programms zu diesem Zeitpunkt untersuchen. Auf diese Weise lässt sich etwa prüfen, ob die eingebundenen Variablen mit den erwarteten Werten übereinstimmen[2].
USB-Debugging für Android-Geräte
Auch Nutzer von Smartphones oder Tablets können Debugging anwenden. Mittels eines PCs und eines USB-Kabels kann das Gerät in einen Debugging-Modus versetzt werden. So lassen sich beispielsweise Logdateien einsehen oder Daten, die sich auf dem Smartphone befinden, verändern. Auch zum Rebooten des Geräts kann USB-Debugging notwendig oder sinnvoll sein.
Die USB-Debugging-Funktion birgt allerdings auch Risiken, insbesondere für unerfahrene Nutzer. Datendiebe könnten zum Beispiel die Smartphone-Sperre umgehen und sich auf diese Art Zugang zum Smartphone oder Tablet verschaffen.
USB-Debugging aktivieren
Um das USB-Debugging auf dem Smartphone oder Tablet nutzen zu können, müssen einige vorbereitende Schritte durchgeführt werden. Zunächst muss der Entwicklermodus aktiviert werden. Notwendig ist dies nur einmal, die jeweiligen Bezeichnungen können je nach Gerät und Hersteller voneinander abweichen.
- Zunächst müssen die Einstellungen auf dem Gerät geöffnet werden.
- Dann wählt man „Telefoninfo“ oder „Über das Telefon“ aus.
- Nun muss sieben Mal auf den Punkt „Build-Nummer“ getippt werden.
- Je nach Einstellung muss dann noch der Entsperrcode für das Gerät eingegeben werden.
- Im nächsten Schritt erhält man die Bestätigung der Änderungen.
Nach der Freischaltung für die Entwickleroption kann der Zugriff auf das USB-Debugging erfolgen:
- Erneut müssen zunächst die Einstellungen geöffnet werden.
- Dann muss auf „System“ getippt werden, im Anschluss daran auf „Entwickleroptionen“ oder „Entwickler“. Je nach Gerät sind die Entwickleroptionen direkt in den Einstellungen zu finden, ältere Versionen verlangen oft das Tippen auf den Menüpunkt „Apps“.
- Nun wird der Eintrag „Android-Debugging“ oder „USB-Debugging“ angetippt.
- Es folgt ein Warnhinweis, der angetippt werden muss, um das Debugging zu aktivieren.
- Nach Beendigung des USB-Debuggings kann es durch ein erneutes Tippen wieder deaktiviert werden[3].
Bedeutung für das Development
Insbesondere für die Programmierung ist Debugging nahezu unverzichtbar. Die manuelle Suche nach Fehlern ist ein Unterfangen, das nicht nur sehr zeitintensiv ist, sondern darüber hinaus nicht immer durch Erfolg gekrönt wird.
Bevor man als Nicht-Fachkundiger das USB-Debugging in Angriff nimmt, sollte man sich allerdings intensiv mit dem Thema befassen.
Grundsätzlich lässt sich festhalten, dass für das Auffinden und Beheben von Bugs das Debugging eine Hilfe ist, auf die man in vielen Bereichen kaum verzichten kann.
Einzelnachweise
Weblinks