Debugging with Xdebug hangs.

Hey all,

When I'm running a debugging session on a specific CLI script with the xdebug listener on, it hangs. It appears to be waiting for the script to get to a break point (which is set). But the thing is that debugging works on other scripts just fine. To try and see what is going on, I stopped the script at the first line (which works as expected) and stepped through the code each time looking for the function that hangs where I set a break point and remove any previous break points. Then I run the script again and at the break point, I step into the function and step over any function looking for the one that hangs. Ultimately, I finally came to the following line that, when I attempt to step into the function, it simply hangs:

$error = pcntl_exec($found_script, $arguments, $env);

As you can see, it's a function that launches a script inside the current process (this is in drush - drush/drush/includes/startup.inc:294).

The interesting thing is that if I set a break point at that line and then execute the script, the debugging session will start and pause at that breakpoint. Then I can hit the play button to make it hang. But after that I hit the stop button and the script proceeds just like it should. This is reasonably new behavior, I've been using this workaround for about a month and haven't found any solutions as of yet. Prior to the past month, the debugging sessions worked as expected and didn't hang at the pcntl_exec line. But now, even after I got a new computer, I can't get any debugging to work unless I use the workaround.

Does anyone have any ideas how to fix this?

4 comments
Comment actions Permalink

Hi there,

What's your debug settings (xdebug section of php_info() output)?

Right now it sounds like it is in 2nd debug session. But you better collect and look into xdebug logs to confirm that (http://xdebug.org/docs/all_settings#remote_log)

PhpStorm has settings that would allow multiple simultaneous debug session. By default it is set to only 1 -- increase the value and see how it will go: "Settings/Preferences | Languages & Frameworks | PHP | Debug --> Max simultaneous connections"

6
Comment actions Permalink

Changing the max simultaneous connections to 2 from 1 fixed it. Thanks!

1
Comment actions Permalink

Omg! Thank you! Thank you!

0
Comment actions Permalink

Andriy's solution worked a treat for me as well; TYVM!

0

Please sign in to leave a comment.