Ich bin ein Puts Debuggerer

Ich bin ein Puts-Debuggerer

Mein Link der Woche ist dieses Mal ein Artikel von Aaron Patterson: I am a puts debuggerer. Der Autor beschreibt darin, wie er seine Software debuggt (ja, das schreibt man so 😉 ). Er verwendet keinen Debugger, sondern nutzt einfach die Konsolenausgabe für die Fehlersuche in seinen Programmen (puts in Ruby, daher der Name des Artikels).

Der Vorteil des puts-Debuggens zur Fehleranalyse ist, dass man keine aufwendige Entwicklungsumgebung dafür benötigt. Kommandozeilenausgaben kann man auch mit simplen Editoren in den Code einbauen. Aaron zeigt in seinem Artikel die Erfahrungen, die er in den letzten Jahren mit seiner Methode gemacht hat. Ich selbst konnte noch ein paar interessante Tricks aus dem Artikel mitnehmen. Auch wenn die Programmiersprache Ruby ist, sind die gezeigten Prinzipien auch auf jede andere Programmiersprache übertragbar. Witzig fand ich zum Beispiel den letzten Tipp, in dessen Konsolenausgabe ich mich selbst wiedergefunden habe. Die vielen Hashes (#), um die Debugausgaben schneller finden zu können, erinnern mich stark an meine eigene Fehlersuche. 😀

Ich selbst habe auch schon seit Jahren keinen Debugger mehr verwendet. In Zeiten von testgetriebener Softwareentwicklung ist das meiner Meinung nach auch völlig überflüssig, da mir die Tests zeigen, wenn es einen Fehler in der Software gibt. Und wenn ich mehr über den Zustand des Programms zur Ausführung wissen möchte, verwende ich genau wie Aaron die Konsolenausgabe, um mir Werte von Variablen, Schleifenzähler oder sonstige Inhalte auszugeben. Meine Azubis fragen mich teilweise nach mehreren Monaten oder ganzen Ausbildungsjahren, was überhaupt ein Debugger ist und wie man ihn verwendet. Und das ist gut so!


Wie suchst du Fehler in deiner Software? Verwendest du einen Debugger oder nutzt du auch die Kommandozeile, um den Zustand deines Programms zu untersuchen?

2 thoughts on “Ich bin ein Puts-Debuggerer

  1. Hallo,

    ich finde die Arbeit mit einem Debugger (in PHP und Java) großartig. So kann ich älteren Code oder Code, der nicht getestet ist, nochmal gut nachvollziehen.

    Wenn es viele Sachen gibt, wo man gar nicht weiß, was das Stückchen Code hier macht, sollte man, finde ich, mit einem Debugger reingucken.

    Dazu muss ich sagen, dass ich sehr wenig Erfahrung mit Tests (Unittests oder andere Art) habe, sodass ich häufig auch den Debugger während der Entwicklung am laufen habe, um mich so zu kontrollieren, was ich in welchem Format wie bearbeite. (Gerade mit Schleifen, was wo wann wer welche Variable hat etc.)

    Gruß

  2. Hallo Pascal,

    das kann ich nachvollziehen. Als ich angefangen habe zu programmieren, habe ich auch ständig einen Debugger benutzt. Durch den Umstieg auf automatische Tests ist dieser für mich jedoch überflüssig geworden. Ein weiterer Vorteil der Test ist auch, dass ich sie regelmäßig laufen lassen kann und nicht auf interaktive Debugging-Sitzungen angewiesen bin.

    Viele Grüße!
    Stefan

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

To create code blocks or other preformatted text, indent by four spaces:

    This will be displayed in a monospaced font. The first four 
    spaces will be stripped off, but all other whitespace
    will be preserved.
    
    Markdown is turned off in code blocks:
     [This is not a link](http://example.com)

To create not a block, but an inline code span, use backticks:

Here is some inline `code`.

For more help see http://daringfireball.net/projects/markdown/syntax