6
votes

So I have my webserver container happily running xdebug, and I have xdebug.remote_log setup so I could diagnose the issue. If I place a breakpoint on the first line phpstorm behaves as expected, it breaks, gives you the normal options. But if you allow it to continue running past that point phpstorm has the appearance that the code is timing out, it just hangs. However if I read the xdebug remote_log during this time, it reports that it has successfully hit the next breakpoint I set and is waiting there, phpstorm shows the code as executing.

Here are some screenshots of configs and such:

php.ini

enter image description here

settings > languages & frameworks > php > Debug

enter image description here

settings > languages & frameworks > php > Servers > localhost (docker) aka my only added server

enter image description here

Screenshot from the end of xdebugs remote_log. From the public/index.php initial breakpoint I then allowed it to run. And then here it states it broke in ListController.php which is the correct location for the next placed breakpoint. As you may have guessed from the previous image, in docker the repo is in /srv/www while on my local its in /home/myname/Development/projectName/checkout.

enter image description here

xdebug remote_log: https://pastebin.com/faiQqwMT

some code so stackoverflow will let me link the log

The only interesting part of my idea.log

2018-10-12 10:18:23,772 [81267328] ERROR - plication.impl.ApplicationImpl - Argument for @NotNull parameter 'remoteFileUrl' of com/jetbrains/php/debug/xdebug/debugger/XdebugDriver.onBreak must not be null java.lang.IllegalArgumentException: Argument for @NotNull parameter 'remoteFileUrl' of com/jetbrains/php/debug/xdebug/debugger/XdebugDriver.onBreak must not be null at com.jetbrains.php.debug.xdebug.debugger.XdebugDriver.$$$reportNull$$$0(XdebugDriver.java) at com.jetbrains.php.debug.xdebug.debugger.XdebugDriver.onBreak(XdebugDriver.java) at com.jetbrains.php.debug.xdebug.debugger.XdebugDriver$4.onResponse(XdebugDriver.java:172) at com.jetbrains.php.debug.xdebug.debugger.XdebugDriver$4.onResponse(XdebugDriver.java:167) at com.jetbrains.php.debug.connection.PhpDebugConnection.handleInput(PhpDebugConnection.java:256) at com.jetbrains.php.debug.connection.PhpDebugConnection.lambda$startReading$2(PhpDebugConnection.java:290) at com.intellij.openapi.application.impl.ApplicationImpl$1.run(ApplicationImpl.java:314) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745)

1
Do you have the project directories added to include path? Any reasons for that? - Dmitrii
@Ástþór I'm not sure what you're asking - Shardj
on the last screenshot you have the same path listed in Project files and Include path. You shouldn't have it this way ideally. The issue (I guess) is that IDE can't find correct path mappings after the code goes into other PHP files. It would be great if you could share your xdebug.log file + illustrate your project structure (show us the files involved in debugging) - Dmitrii
If I fill in one it fills in both. I'd guess that's the mapping is the issue too, how should it look instead? I'll take some screenshots of the issue in more detail tomorrow at work - Shardj
Thanks! That's a known bug: youtrack.jetbrains.com/issue/WI-43622. Switch over to XDebug 2.6 - Dmitrii

1 Answers

6
votes

That's a known bug: https://youtrack.jetbrains.com/issue/WI-43622. Switching back to XDebug 2.6 should fix it.