私はEclipse 3.4.2をPHPEclipseとZend Debuggerでしばらく問題なく使用してきました。突然、PHP スクリプトをデバッグできなくなりました。問題なく実行できますが、[ Debug As...]を選択すると、スクリプトが実行されているかのように [Debug] ウィンドウに表示されますが、そうではありません。一時停止をクリックすると、行 0 にあると報告されます。ステップスルーできます。再開すると、そのままにしてからもう一度一時停止しても、行 0 にあると報告されます。
すべてを閉じて、システムを再起動し、新しいプロジェクトを作成しようとしましたが、うまくいきませんでした。
最近、Ubuntu システムを更新しましたが、PHP や Eclipse に関連するものは何もありませんでした (私にはわかりませんでした)。XULRunner が更新されました。
Debug Configs を確認しました。Zend Debugger と PHP Executable が以前と同じように選択されています。ソースルックアップの編集をいじって、正しい場所を見ていることを確認しました。
何か案は?
編集: Eclipse のデバッガーはポート 10000 でリッスンしています。localhost 10000 に telnet で接続できます。ガベージ文字を送信すると、eclipse は互換性のないデバッガーに関するエラー メッセージを表示するので、リッスンしているようです
編集:実際に何が起こっているのか理解できませんでしたが、新しいワークスペースを作成するとうまくいくようです
更新: eclipse -clean (ubuntu を使用しています) を試しましたが、役に立ちませんでした。.log ファイルを見つけて、次のエラーに気付きました。始めるとき:
!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
デバッグ セッションを開始しようとした後:
!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)
これを踏まえて、他に何かを追跡できるかどうかを確認しようとしています。