Allgemein
Knowledge Base
- Neue Struktur (In Arbeit)
- Computertechnisches
Community
Privat
Ist die Bezeichnung für eine Art zu debuggen, die es eigentlich schon immer gab und immer geben wird, falls kein richtiger Debugger zur Verfügung steht. Besonders bei Web-Applikationen wird gerne von dieser Methode Gebrauch gemacht.
Der Sourcecode wird an
geeigneter
beliebiger Stelle einfach um ein paar Ausgabe-Befehle erweitert, die einfach ein paar Kommentare und oder Variablen zu einem gewissen Zeitpunkt ausgeben sollen. Es setzt allerdings voraus, das es eine Ausgabemöglichkeit gibt. Für echte Windowsprogramme ist das nicht direkt der Fall, hier hilft nur der Umweg über eine Datei, ein Textfeld im aktuellen Formular oder man instanziiert eine Ausgabeconsole. Unter Linux ist jedes Programm von einer Shell startbar.
Falls do_something() jetzt sehr lange läuft, könnte man z.B. mittels der printf()
Anweisung eine Ausgabe auf der Shell erzeugen, die besagt,
wo sich das Programm gerade befindet
wie weit der Ablauf fortgeschritten ist.
Wo die printf
Anweisung einzutragen ist, ist dem Entwickler/Debugger überlassen, was er allerdings berücksichtigen sollte ist, dass die Anweisung keine Änderungen an Variablen verursachen sollte. Beispiel:
Das kann zu Fehlern führen, die nach Entfernen der Ausgabe fast nicht mehr zu verstehen sind.
Unter Microsoft .NET kann man für Debug-Ausgaben bequem Debug.WriteLn()
verwenden. Die Ausgaben die damit erzeugt werden lassen sich mit dem Tool DebugView anzeigen.