XDebug Stops Responding After Hitting Breakpoint
Typical user... I swear I didn't do anything! It just stopped working.
But that's how I feel. I was working away on the code and debugging and everything was happy. I went away for about an hour and now, when I try to debug, the break point is hit, but if I try to step (into, over or otherwise doesn't seem to matter) I get no response. The browser renders half a page or so and then nothing. The next break point is never hit. And nothing else happens. Visual studio is still responsive, meaning that I can stop the debugger and restart it. But the same thing keeps happening. I've tried rebooting. Debuggin other application types seems to work just fine. But the php apps (or even a breakpoint in a javascript) has somehow been broken.
I've no idea what I could have done to cause it and I'm not even sure what to do to troubleshoot this. Any insight is greatly appreciated. I'm about 10 days into my eval period and have, so far, been pretty pleased. But I need to know that this can be fixed. Thanks.
J
VS 2005, VS.Php for Visual Studio 2005 version 2,4,1,4263. Windwos Vista Ultimate 64-bit.
Also... Tested with the little Windows debug client from the XDebug web site and that seems to work just fine.


Are you using the built-in
Are you using the built-in engine or your own web server?
Also, are you running as an admin or regular user?
Are you using the built-in
Are you using the built-in engine or your own web server?
Also, are you running as an admin or regular user?
I'm using IIS and IE.
I'm using IIS and IE. (External Debugging)
I uninstalled VS.PHP and then resinstalled it and that fixed the issue... For a while. It's back again.
Any ideas?
Thanks.
J
http://digitalcamel.blogspot.com
Could you please enable
Could you please enable logging on the Xdebug side to see if there are any hints on what could be going wrong?
XDebug Logging Enabled
I discovered that if I close Visual Studio, delete the .suo file, open the project and reconfigure all the project settings, that debugging starts to work again. So I don't have to uninstall and re-install every time.
I enabled XDebug logging and captured a "Bad" and a "Good"... They're different, but they don't tell me anything that helps. Perhaps it will mean something more to you. Is there a way to send you the logs? I'm only including (what I hope are) the relevant portions here:
Bad (Debugging breaks, but disappears after first atttempt to "Step"):
...<- breakpoint_set -i 8 -t line -f file://D:/PHPRepository/MyWebSite/htdocs/funcLogin.php -n 23 -r 0
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="breakpoint_set" transaction_id="8" id="50960004"></response>
<- breakpoint_set -i 9 -t line -f file://D:/PHPRepository/MyWebSite/htdocs/index.php -n 2 -r 0
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="breakpoint_set" transaction_id="9" id="50960005"></response>
<- breakpoint_set -i 10 -t line -f file://D:/PHPRepository/MyWebSite/htdocs/userRequest.php -n 2 -r 0
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="breakpoint_set" transaction_id="10" id="50960006"></response>
<- run -i 11
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="run" transaction_id="11" status="break" reason="ok"><xdebug:message filename="file:///D:/PHPRepository/MyWebSite/htdocs/index.php" lineno="2"></xdebug:message></response>
<- stack_get -i 12
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="stack_get" transaction_id="12"><stack where="{main}" level="0" type="file" filename="file:///D:/PHPRepository/MyWebSite/htdocs/index.php" lineno="2"></stack></response>
<- eval -i 14 -- JHNlbGY=
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="eval" transaction_id="14"><property address="31714728" type="null"></property></response>
<- eval -i 15 -- U3RyaW5nLmZyb21DaGFyQ29kZSgxMDMp
-> <stream xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" type="stdout" encoding="base64"><![CDATA[]]></stream>
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" status="stopped" reason="ok"></response>
<- eval -i 16 -- ZmlsdGVyLmluZGV4T2YoYyk=
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="eval" transaction_id="16"><error code="5"><message><![CDATA[command is not available]]></message></error></response>
<- step_into -i 16
Log closed at 2008-02-06 08:49:15
Good (Debugging behaves normally):
...<- breakpoint_set -i 8 -t line -f file://D:/PHPRepository/MyWebSite/htdocs/funcLogin.php -n 23 -r 0
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="breakpoint_set" transaction_id="8" id="50960008"></response>
<- breakpoint_set -i 9 -t line -f file://D:/PHPRepository/MyWebSite/htdocs/index.php -n 2 -r 0
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="breakpoint_set" transaction_id="9" id="50960009"></response>
<- breakpoint_set -i 10 -t line -f file://D:/PHPRepository/MyWebSite/htdocs/userRequest.php -n 2 -r 0
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="breakpoint_set" transaction_id="10" id="50960010"></response>
<- run -i 11
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="run" transaction_id="11" status="break" reason="ok"><xdebug:message filename="file:///D:/PHPRepository/MyWebSite/htdocs/index.php" lineno="2"></xdebug:message></response>
<- stack_get -i 12
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="stack_get" transaction_id="12"><stack where="{main}" level="0" type="file" filename="file:///D:/PHPRepository/MyWebSite/htdocs/index.php" lineno="2"></stack></response>
<- eval -i 14 -- JGV4dHJh
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="eval" transaction_id="14"><property address="30272204" type="null"></property></response>
<- step_into -i 14
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="step_into" transaction_id="14" status="break" reason="ok"><xdebug:message filename="file:///D:/PHPRepository/MyWebSite/htdocs/header.php" lineno="2"></xdebug:message></response>
<- stack_get -i 15
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="stack_get" transaction_id="15"><stack where="require" level="0" type="file" filename="file:///D:/PHPRepository/MyWebSite/htdocs/header.php" lineno="2"></stack><stack where="{main}" level="1" type="file" filename="file:///D:/PHPRepository/MyWebSite/htdocs/index.php" lineno="2"></stack></response>
<- step_over -i 16
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="step_over" transaction_id="16" status="break" reason="ok"><xdebug:message filename="file:///D:/PHPRepository/MyWebSite/htdocs/header.php" lineno="4"></xdebug:message></response>
<- stack_get -i 17
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="stack_get" transaction_id="17"><stack where="require" level="0" type="file" filename="file:///D:/PHPRepository/MyWebSite/htdocs/header.php" lineno="4"></stack><stack where="{main}" level="1" type="file" filename="file:///D:/PHPRepository/MyWebSite/htdocs/index.php" lineno="2"></stack></response>
<- step_over -i 18
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="step_over" transaction_id="18" status="break" reason="ok"><xdebug:message filename="file:///D:/PHPRepository/MyWebSite/htdocs/header.php" lineno="5"></xdebug:message></response>
<- stack_get -i 19
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="stack_get" transaction_id="19"><stack where="require" level="0" type="file" filename="file:///D:/PHPRepository/MyWebSite/htdocs/header.php" lineno="5"></stack><stack where="{main}" level="1" type="file" filename="file:///D:/PHPRepository/MyWebSite/htdocs/index.php" lineno="2"></stack></response>
...
As you can see, in "Bad" mode, the debugger exits pretty much immediately after attempting to step.
Thanks.
J
http://digitalcamel.blogspot.com
This is useful, what do you
This is useful, what do you mean by disappears?
I just mean that XDebug just
I just mean that XDebug just stops responding... After looking at the logs, I can tell that XDebug is exiting. Perhaps not gracefully, but it's closing the log file. Visual Studio is apparently unaware that XDebug has exited, though, as the IDE remains in debug mode until I click the "stop" button, or close the browser.
Does the fact that recreating the .suo file mean anything significant?
Is there a way to extend the trial until this is resolved?
Thanks.
J
http://digitalcamel.blogspot.com
I'll contact you via email
I'll contact you via email about extending the trial.
Are you using Php4 or Php5? Have you tried using DBG?
Using PHP5 - I'm debugging
Using PHP5 - I'm debugging externally, running PHP on IIS. I thought DBG was only for internal debugging.
Whenever I try to use it I get a dll error. I didn't look into it much because I prefer the external debugging.
I can get you the dll error if you'd like.
http://digitalcamel.blogspot.com