I experience slow (remote) debugging with Eclipse sometimes and can't get to the bottom of what the reason may be. I also have an issue with path mapping, which I think may be related.
I debug a variety of projects, all on same-machine-hosted local domain names. For example
- project1.local
- project2.example.com
These domain names are defined in /etc/hosts
I also have a current project1 that actually calls project2 through a curl call.
I initiate all debugging sessions through chrome or firefox browser by appending ?XDEBUG_SESSION_START=1 and the curl call uses the same method.
Sometimes/ Regularly, I experience that nothing happens for about 2 minutes until the debugging session starts. Until then, the browser just seems to wait for something. After a breakpoint is reached, I can debug step by step with normal speed. On the next request I have the same wait time.
Here is my experience in regards to things that I have tried:
- shutting down and restarting eclipse: rarely helps
- trying the same url to debug in Komodo: always works (don't get me wrong I like Eclipse better) --> shows its not an xdebug problem
- restarting web server: rarely helps
- waiting 30-60 minutes: nearly always helps
- clearing all cookies of debugged domain: helps in maybe 30% of cases, same with switching browser
The path mapping problem I have is in that sometimes a different file edit view is opened when a breakpoint is reached, even if the file is already open. One file has a workspace开发者_开发技巧 specific path, the other one an absolute path.
Can anybody help me with either of:
- resolving the path confusion (hoping this is the root cause)
- using other tools to figure out what happens during the 2 minutes
- recommending other paths of action?
http://garywaddell.com/?p=303 i found this to help
here is what the link says
Window-->Preferences
Expand PHP then Expand Debug
Select Installed Debuggers
Double Click on XDebug
change Capture StdOut and StdErr to Off
click Ok.
Ok, the solution appears to be:
- use the same domain name for the curl initiated XDEBUG session
- use path mapping in eclipse, this removes the confusion around the double opening of files
精彩评论