3 Stimmen

PHP-Skripte mit Eclipse debuggen

Ich habe Eclipse 3.4.2 mit PHPEclipse und Zend Debugger für einige Zeit ohne Probleme verwendet. Plötzlich kann ich die PHP-Skripte nicht mehr debuggen. Ich kann sie problemlos ausführen, aber wenn ich die Option Debuggen als... Das Skript wird im Debug-Fenster angezeigt, als ob es laufen würde, aber das tut es nicht. Wenn ich auf Pause klicke, meldet es, dass es sich in Zeile 0 befindet. Ich kann es durchlaufen, wenn ich es fortsetze, stehen lasse und dann wieder anhalte, meldet es immer noch, dass es sich in Zeile 0 befindet.

Ich habe versucht, alles zu schließen, mein System neu zu starten und ein neues Projekt zu erstellen - ohne Erfolg.

Ich hatte vor kurzem das Ubuntu-System aktualisiert, aber es gab nichts, was mit PHP oder Eclipse zu tun hatte (soweit ich das erkennen konnte). XULRunner wurde aktualisiert.

Ich habe die Debug-Konfigurationen überprüft, der Zend Debugger und das PHP Executable sind wie zuvor ausgewählt, wenn sie funktionieren. Ich habe mit der Bearbeitung der Quellensuche herumgespielt, um sicherzustellen, dass sie an der richtigen Stelle gesucht wird.

Irgendwelche Ideen?

Bearbeiten: Eclipse Debugger lauscht auf Port 10000 kann ich telnet localhost 10000 fein. wenn ich einige Müllzeichen senden Eclipse knallt eine Fehlermeldung über inkompatible Debugger so scheint es zu hören

Edit: Ich konnte nicht herausfinden, was wirklich los war, aber das Erstellen eines neuen Arbeitsbereichs schien den Trick zu tun

Update: Ich habe eclipse -clean versucht (ich bin auf ubuntu), aber das hat mir nicht geholfen. Ich habe die .log-Datei gefunden und die folgenden Fehler festgestellt. Beim Starten:

!ENTRY org.eclipse.osgi 2 1 2009-10-05 17:02:11.979
!MESSAGE NLS missing message: DebugConnectionThread_oldDebuggerVersion in: org.eclipse.php.internal.debug.core.PHPDebugCoreMessages

!ENTRY org.eclipse.osgi 2 1 2009-10-05 17:02:11.980
!MESSAGE NLS missing message: DebugServerTestEvent_success in: org.eclipse.php.internal.debug.core.PHPDebugCoreMessages

!ENTRY org.eclipse.osgi 2 1 2009-10-05 17:02:11.980
!MESSAGE NLS missing message: DebugServerTestEvent_timeOutMessage in: org.eclipse.php.internal.debug.core.PHPDebugCoreMessages

Nachdem ich versucht habe, eine Debug-Sitzung zu starten:

!ENTRY org.eclipse.php.debug.core 4 10001 2009-10-05 17:02:23.455
!MESSAGE Can't determine version of the PHP executable

!ENTRY org.eclipse.php.debug.core 4 10001 2009-10-05 17:02:23.983
!MESSAGE PHPDebug plugin internal error
!STACK 0
java.lang.NullPointerException
    at org.eclipse.php.internal.debug.core.preferences.stepFilters.DebugStepFilterController.isFiltered(DebugStepFilterController.java:98)
    at org.eclipse.php.internal.debug.core.zend.debugger.handlers.ReadyNotificationHandler.handle(ReadyNotificationHandler.java:34)
    at org.eclipse.php.internal.debug.core.zend.communication.DebugConnectionThread$InputMessageHandler.run(DebugConnectionThread.java:881)
    at java.lang.Thread.run(Thread.java:636)

Ich versuche zu sehen, ob ich angesichts dessen etwas anderes aufspüren kann.

3voto

JasCav Punkte 34020

Sie erwähnten, dass Sie nicht herausfinden konnten, was los war, aber das Erstellen eines neuen Arbeitsbereichs schien das Problem zu lösen. Es handelt sich wahrscheinlich um ein bekanntes Problem mit Eclipse. Im Grunde neigt das System dazu, sich im Laufe der Zeit zu verkrümeln. Das führt dazu, dass Eclipse (und insbesondere die Plugins) nicht mehr funktionieren. Sie können dieses Problem lösen (ohne einen neuen Arbeitsbereich zu erstellen), indem Sie beim Starten von Eclipse das Argument -clean verwenden.

Wenn Sie also mit Windows arbeiten, bearbeiten Sie die Verknüpfung zu Eclipse so, dass sie angezeigt wird:

eclipse.exe -clean

Das sollte helfen. Lesen Sie mehr Informationen darüber hier: Damit Eclipse sauber läuft

1voto

DigitalRoss Punkte 138823

Eines der wirklich netten Dinge an eclipse ist, dass es keinen Installer hat, obwohl ich sehe, dass ein wohlmeinender Reisender auf einem bestimmten Weg es möglich gemacht hat, dass Sie das tun können apt-get eclipse . (Tipp: Tun Sie das nicht.)

Eine der weniger schönen Seiten ist, dass sie ziemlich komplex ist. Wenn Sie glauben, dass Sie einen der Tausenden von Schaltern umgelegt haben, entpacken Sie einfach das Archiv und führen Sie eine Parallelinstallation durch. Eclipse ist auf diese Weise gut zu handhaben, sogar unter Windows. Wenn die parallele Installation funktioniert, dann wissen Sie zumindest, dass es nur an Ihrem Arbeitsbereich oder Ihrer Konfiguration liegt, und wenn nicht, dann wissen Sie, dass Sie extern suchen müssen. (Es sei denn, Sie haben den gleichen Fehler zweimal mit Ihrer Run Config gemacht.)

0voto

Zak Punkte 24386

Wurden Änderungen an Ihrer Firewall vorgenommen? Ich verwende den php-Debugger von NuSphere, und er kommuniziert über einen TCP-Socket. Wenn Ihre Firewall während des Updates geändert wurde, könnte Ihre Firewall den Debugger-Server daran hindern, Ihren Debugger-Client über den Localhost-Port zu kontaktieren, auf dem er (vielleicht) läuft. Ich bin mir nicht sicher, wie der Debugger von Eclipse funktioniert, aber ich würde das gleiche vermuten.

Zum Spaß können Sie versuchen, snort zu starten, um zu sehen, ob der Debugger Pakete an Sie sendet.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X