Was ist der richtige name für das beim Debuggen durch das hinzufügen von 'print' Aussagen

StackOverflow https://stackoverflow.com/questions/189562

  •  06-07-2019
  •  | 
  •  

Frage

Es gibt viele Möglichkeiten, zu Debuggen, mit einem debugger ein, sondern das einfache, für die bescheidenen, faul, Programmierer, fügen Sie einfach eine Reihe von print-Anweisungen zu deinem code.

d.h.

 def foo(x):
     print 'Hey wow, we got to foo!', x

     ...

     print 'foo is returning:', bar
     return bar

Gibt es einen richtigen Namen für diese Art von debugging?

War es hilfreich?

Lösung

Ja - es ist bekannt als printf() Debuggen , benannt nach der allgegenwärtigen C Funktion:

  

Gebraucht   getan Debuggen Arbeit zu beschreiben   Einfügen von Befehlen, die mehr oder Ausgang   weniger sorgfältig ausgewählten Status   Informationen an den wichtigen Punkten in der   Programmablauf, die Beobachtung, dass   Informationen und herzuleiten, was falsch ist   auf der Grundlage dieser Informationen.

- printf () Debugging @ Everything2

Native Nutzer anderer Sprachen ohne Zweifel darauf verweisen durch die Standarddruck / log / oder Spuren Befehl für ihre Codierung Plattform der Wahl, aber ich habe das zu hören „printf ()“ Name dieser Technik refere verwendet in viele andere Sprachen als C. Vielleicht ist dies seine Geschichte durch: während BASIC und FORTRAN einfach, aber gewartet werden PRINT Befehle hatten, C im allgemeinen ein bisschen mehr Arbeit erforderlich verschiedene Datentypen zu formatieren: printf() war (und oft noch ist) durch weit die bequemste Mittel zu diesem Zweck, viele integrierten Formatierungsoptionen. Sein Cousin, fprintf(), nimmt eine anderen Parameter, der Strom zu schreiben: dies ist ein sorgfältiger „Debugger“ Diagnoseinformationen lenken durfte stderr (möglicherweise selbst in eine Log-Datei umgeleitet), während die Ausgabe des Programms unverfälscht zu verlassen.

oft sah zwar auf nach unten von den Benutzern der modernen Debugging-Software, printf () Debuggen weiterhin selbst unverzichtbar beweisen: das sehr beliebte Firebug-Tool für den Firefox-Browser (und ähnliche Werkzeuge jetzt für anderen Browser verfügbar) um eine Konsole eingebaut ist Fenster, in die Webseite Skripte können Fehler oder Diagnosemeldungen log-formatierte Daten enthält.

Andere Tipps

Ich habe gehört, es namens Caveman Debuggen

Ich dachte, das folgende Zitat sei apropos:

„Das effektivste Debugging-Tool ist noch sorgfältige Überlegung, gepaart mit Bedacht platziert print-Anweisungen.“

  • Brian Kernighan, "Unix für Anfänger" (1979)

Ich nenne es Tracing.

ich und meine Mitspieler nennen es "Old School Debugging".

Sitz der Hose Debuggen :)

Wenn Sie sind auf einem Embedded-System, wenn Sie auf der bleeding edge und die Sprache, die Sie bei der Codierung sind nicht über einen Debugger noch, wenn Ihr Debugger seltsam verhält, und Sie wollen etwas Vernunft wieder herzustellen, und Sie wollen verstehen, wie Neueintritt in Multi-threaded-Code arbeiten, ....

Im gleichen Sinne wie explorative Programmierung , ich mag nennen es Sondierungs Debuggen . Dies folgt, wenn der Debugger nicht leistungsfähig genug ist, um komplexe Typen im Programm zu untersuchen, oder rufen Sie separat Helferfunktionen, oder Sie wissen einfach nicht genug über einen Fehler, sagte Funktion nutzen zu können direkt an.

Ich nenne dies "Hi, Mom" - Programmierung.

Ich habe auch gehört, den Begriff „MessageBox Debuggen“ aus der VB Menge diesen ‚Stil‘ von ‚Debugging‘ zu beziehen.

I-Systeme eingebettet sein häufig die einzige Methode, der Code zum Instrumente. Druck braucht Zeit und bewirkt der Echtzeitfluss des Systems leider. Also haben wir auch Instrument über „Tracing“, wo Informationen über den Zustand des Systems (Funktionseintrag Ausfahrt usw.) mit einem internen Puffer geschrieben später abgeladen und analysiert werden. Real Embedded-Programmierer durch das Blinken einer LED debuggen können;)

Ich habe gehört, " Gutenberg Debuggen " verwendet wird, in der Ehre von der Mann, der die Druckmaschine erfunden.

ich es nennen würde einfach " Anmeldung ".

ich in der Regel darauf verweisen, wie Tracing.

Beachten Sie, dass in Visual Studio können Sie Breakpoints setzen, die Ablaufverfolgung nur hinzufügen. Rechtsklick auf einen Breakpoint, wählen Sie „wenn sie getroffen ...“ und überprüfen Sie die „Drucken Sie eine Nachricht“ -Option.

Auch in .Net können Sie Debugging-Anweisungen hinzufügen (ich glaube, es Debug.WriteLine tatsächlich ist), um an die Konsole. Diese statments sind nur im Debug enthalten baut -. Die Compiler werden sie automatisch auslassen, wenn Sie ein Release-Build tun

Classic Debugging

Handbuch Assertions? Debugger-Phobie?

ausführlichen Debugging!

(Good Protokollierung ist unglaublich wertvoll für Probleme Debuggen in Produktionssystemen ausgeführt werden. Viele nutzlos ausführliche print-Anweisungen sind nicht, aber etwas interessantes anmelden, wenn etwas Wichtiges oder unerwartet aufgetreten unglaublich wichtig ist. Wenn der einzige Weg, Sie wissen, wie zu debuggen Probleme mit einem Debugger, Sie gehen, sich in ganz den engen Stelle zu finden, wenn der Service, den Sie gebaut haben, für einige Benutzer gebrochen ist, aber Sie können das Problem vor Ort nicht reproduzieren.)

Ich habe es immer bekannt unter dem Begriff 'quick-and-dirty-Debugging' oder einfach nur 'schmutzige Debuggen' in kurz.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top