PHP debuggen

PHP existiert nun wirklich schon sehr lange. Und trotzdem gab es bisher nur kostenpflichtige Programme, mit denen man PHP sauber debuggen konnte. Dabei meine ich nicht die Ausgabe bestimmter Variablen mit var_dump oder mittels Firebug-Konsole. Nein, ich meine

  • das setzen von Breakpoints innerhalb der PHP-Umgebung
  • das schrittweise Überprüfen von Variablen ohne var_dump-Ausgaben
  • die geziehlte Manipulation von Variableninhalten während der Laufzeit
  • das geziehlte Verfolgen des Programm-Ablaufs innerhalb der Entwicklungsumgebung

Dabei sollte es natürlich unerheblich sein, ob man eine Konsolen-Anwendung programmiert oder ob man ein PHP-Script zur Erzeugung von Websiten erstellt.

Nun ist es endlich möglich, diese Möglichkeiten zu nutzen. Basis hierfür ist das PDT-Projekt im Rahmen der Eclipse-Umgebung. Es ist ein neues Projekt, das unabhängig zur Entwicklungsumgebung PHP Eclipse entstanden ist. Da letzteres Projekt in letzter Zeit auch eingeschlafen zu sein scheint, sollte für jeden PHP-Programmierer PDT auf jeden Fall ein Blick wert sein.

Innerhalb von PDT kann jeglicher PHP-Code debugged werden. Dabei kann sowohl auf den Zend-Debugger als auch auf das OpenSource-Modul xDebug zurückgegriffen werden. Es ist bei beiden Debuggern unerheblich, ob es sich um ein Konsolen-Script handelt oder ob es sich um eine Remote-Seite handelt. Vor allem das debuggen dieser Remote-Scripte ist sehr elegant gelöst. Man startet hierzu einfach den Debugger und kann die Seite wie gewohnt durchlaufen. Eclipse hält dabei die Verarbeitung der Scripte genau dann an, wenn ein Breakpoint gesetzt wurde. Dabei können alle Variableninhalte betrachtet werden und es ist auch möglich, diese Inhalte geziehlt zu manipulieren. Das Script kann anschließend schrittweise fortgesetzt werden oder man springt direkt zum nächsten Breakpoint.

Ich habe inzwischen mit dem Debugger in Verbindung mit xDebug beste Erfahrung gemacht. Konsolen-Ausgaben waren definitiv gestern!

[Link-Tipp]Remote debugging with PDT and xdebug

Ein Gedanke zu „PHP debuggen

  1. Ich habe das XDebug zusammen mit Eclipse PDT auch ausprobiert. Es hat auch vorzüglich geklappt… bis auf den kleinen aber sehr lästigen Umstand, dass die Breakpoints immer nur beim erstmaligen Start der Debugsession funktioniert haben. Sobald ich dann im Browser auf einen Link klicke, ging die ganze Debuginformation verloren und nix wars mehr mit debuggen. Und da hat alles Googeln und ausprobieren nix genützt. Ob ich bei jedem Skript “von Hand” das Cookie gestzt habe, das die PHP IDE für den Sessionstart benützt, oder ob ich das Firefox Plugin dazu benutzt habe, es ging einfach nicht… und aufgegeben….

Schreibe einen Kommentar

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