Sven Rautenberg: Debuggen

Beitrag lesen

Moin!

Aber ich habe versucht, mit der Testversion von
http://www.nusphere.com/products/php_debugger.htm?gclid=CNj61suZ0ZsCFYYVzAodfVI2MA
den Bug in http://forum.de.selfhtml.org/my/?t=188733&m=1256831&aaf=1 zu finden.

Mein Bildschirm ist mit 1280x1024 definitiv zu klein dafür! :-(

Dein Ansatz klingt so danach, als würdest du hoffen, dass ein Debugger dir die Lösung für den Bug liefert. Ich glaube nicht, dass dieser Gedanke zielführend ist und sich in Realität verwandeln wird.

Debugger erlauben es, zur Laufzeit des Skripts Dinge wie "schrittweises Ausführen" oder direkten Zugriff auf die aktuellen Inhalte von Variablen zu erhalten. Das mag relevant sein, wenn man dem Fehler auf der Spur ist und ihn schon entsprechend eingekreist hat.

Aber ohne eine Spur zu haben führt ein Debugger eigentlich nur dazu, dass man noch viel mehr Daten kriegt, die man erstmal filtern muss.

Ich glaube ja fest daran, dass die in PHP integrierten Möglichkeiten des Debuggings in 99% aller Fälle ausreichen, sofern man denn im Quellcode des Skriptes Änderungen durchführen kann.

PHP bietet zahlreiche interessante Funktionen an. Die einfachsten sind var_dump() und print_r() für die Wiedergabe von Variableninhalten (auch Objekten). Spannender - vor allem, wenn man ein komplexes Klassenkonstrukt hat - ist debug_backtrace() bzw. debug_print_backtrace(). Wenn man sich die Skriptausgabe nicht mit Debug-Ausgaben versauen will, ist auch error_log() eine prima Funktion, sofern das Skript nicht über einen eigenständigen Log-Mechanismus verfügt, den man an der Stelle einsetzen kann.

Aber das Ding scheint wirklich gut zu sein. Das kleine Video aus der Doku stellt auch alles ganz easy dar.

Ein Debugger rettet dir nicht deinen Arsch. Insofern ist der Name irreführend. Der Vorgang heißt englisch "Debugging", deutsch "Fehlersuche". Das Hilfsmittel dazu heißt englisch "Debugger", deutsch aber nicht "Fehlersucher" - der Fehlersucher sitzt VOR der Tastatur.

- Sven Rautenberg