tutorials.de Buch-Aktion 05/2012
RSS-Feed anzeigen

Dem Dennis sein Blogdingen da...

Debugging PHP mit Eclipse PDT

Bewerten
von Dennis Wronka am 12.07.08 um 11:52 (2850 Hits)
Jetzt wo ich mit Eclipse arbeite find ich es immer besser. Nicht nur hab ich dort Code-Completion und anderen feinen Kram, sondern sogar Debugging.

Als Debugger stehen dort der Zend Debugger (ist wenn ich's richtig gelesen hab kostenlos, aber nicht frei) oder aber XDebug, welches freie Software ist und somit auch ueber das Fedora-Repository bezogen werden kann.

Da ich XDebug nutze wird es in diesem Post auch ausschliesslich darum gehen.

Allein schon XDebug zu installieren und zu aktivieren bietet einige Vorteile. Die Fehler, Warnungen und Meldungen die PHP so ausspuckt werden wesentlich detailierter.
So gibt es dabei z.B. gleich einen Backtrace, dadurch laesst sich wesentlich besser feststellen wo der Fehler wirklich herkommt.

Zusaetzlich dazu bietet XDebug die Moeglichkeit mit Breakpoints zu arbeiten und eine Anwendung Anweisung fuer Anweisung auszufuehren. Gestauert wird dies durch Eclipse, wobei waehrend dem Debugging viele nuetzliche Informationen, wie die Werte von Variablen, sichtbar und auch manipulierbar sind.

Die letzten beiden Tage hab ich auf der Arbeit recht viel mit XDebug gearbeitet und dadurch einige Fehler wesentlich leichter aufspueren koennen als es ohne der Fall gewesen waere.
Auch sehr schoen ist dass man sich Debugging-Code (wie z.B. var_dump() oder print_r()) im Code sparen kann da man einfach in Eclipse einen Breakpoint an der Stelle ist wo man die Variablen sehen will und dann gleich im Editor alles checken kann.

XDebug macht das Leben eines PHP-Programmiers erheblich einfacher, vor allem in grossen Projekten wo die Daten quasi von einer Klasse in die andere fliegen und man nicht immer unbedingt weiss was wo warum ablaeuft.

"Debugging PHP mit Eclipse PDT" bei Twitter speichern "Debugging PHP mit Eclipse PDT" bei Facebook speichern

Kategorien
PHP

Kommentare

  1. Avatar von ZodiacXP
    eclipse hat wirklich nur vorteile - zumindest für mich
    einzige wodran ich noch immer knabber ist, das PDT in templates mit mir meckert warum denn da ein einzelnes "{template_var}" rumlungert das er nicht als tag kennt und das von nichts eingeschlossen ist - "weil XHTML strict es so will" .
  2. Avatar von Dennis Wronka
    Ist bei mir aehnlich.
    Konstrukte wie das folgende werden angemaekelt:
    HTML-Code:
    <table>
    <tr>
    <th>...</th>
    <th>...</th>
    </tr>
    {tpl_details}
    </table>
    Und in der Template-Zeile meckert er halt. Eigentlich klar, denn dort gehoert ja eigentlich kein Text hin, und Eclipse weiss ja nicht dass dies spaeter durch den Code ersetzt wird.
  3. Avatar von ZodiacXP
    Hab grad mit dem Filter rumgespielt. Sowas findet man nur im vollen Kopp

    - Bei "Problems" auf den kleinen Pfeil nach unten klicken -> Configure Filter
    - Im neuen Fenster auf den Button "New" und Namen eingeben: "Validation message"

    Für den neuen Filter
    - "On any Element" (radio ganz oben) aktivieren
    - Neben "Description" im DropDown: "doesn't contain"
    - Dadrunter "Invalid text string (" eintragen (oder entsprechende Fehlerausgabe)
    - Checkboxen: "Where severity is:" und "Warning" aktivieren
    - Rechts in der Liste alles deaktivieren bis auf "Validation message"

    Für den Default-Filter:
    - Nur in der Liste (rechts) "Validation message" deaktivieren

    Beide Filter links in der Liste aktivieren und fertig.

    Es geht auch einfacher aber so hat man es schön getrennt.
    Hab mir beide Filter auch mal auf: "On any Element in same Project" gestellt damit man nicht Fehler von anderen Projekten sieht.