PhpStorm未将xdebug显示为在断点(docker)上停止

时间:2018-10-10 16:05:11

标签: docker intellij-idea docker-compose phpstorm xdebug

因此,我让我的Web服务器容器愉快地运行了xdebug,并且我有xdebug.remote_log设置,因此我可以诊断问题。如果我在第一行上放置一个断点,则phpstorm的行为符合预期,它会中断,为您提供正常的选择。但是,如果您允许它继续运行到该点,则phpstorm看起来代码超时了,它只会挂起。但是,如果我在这段时间内阅读了xdebug remote_log,它报告它已经成功命中了我设置的下一个断点并在那儿等待,phpstorm将代码显示为正在执行。

以下是一些配置截图,例如:

php.ini

enter image description here

设置>语言和框架> php>调试

enter image description here

设置>语言和框架> php>服务器>本地主机(docker)又名我唯一添加的服务器

enter image description here

xdebugs remote_log末尾的屏幕截图。然后从public / index.php初始断点开始运行它。然后在这里指出它在ListController.php中损坏,该位置是下一个放置的断点的正确位置。正如您可能从上一张图像中猜到的那样,在docker中,存储库位于/ srv / www,而在我的本地存储库中,该存储库位于/ 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

我的想法中唯一有趣的部分。日志

2018-10-12 10:18:23,772 [81267328]错误-plication.impl.ApplicationImpl-com / jetbrains / php / debug / xdebug / debugger / XdebugDriver.onBreak的@NotNull参数'remoteFileUrl'的自变量为空 java.lang.IllegalArgumentException:com / jetbrains / php / debug / xdebug / debugger / XdebugDriver.onBreak的@NotNull参数'remoteFileUrl'的参数不能为null     在com.jetbrains.php.debug.xdebug.debugger.XdebugDriver。$$$ reportNull $$$ 0(XdebugDriver.java)     在com.jetbrains.php.debug.xdebug.debugger.XdebugDriver.onBreak(XdebugDriver.java)     在com.jetbrains.php.debug.xdebug.debugger.XdebugDriver $ 4.onResponse(XdebugDriver.java:172)     在com.jetbrains.php.debug.xdebug.debugger.XdebugDriver $ 4.onResponse(XdebugDriver.java:167)     在com.jetbrains.php.debug.connection.PhpDebugConnection.handleInput(PhpDebugConnection.java:256)     在com.jetbrains.php.debug.connection.PhpDebugConnection.lambda $ startReading $ 2(PhpDebugConnection.java:290)     在com.intellij.openapi.application.impl.ApplicationImpl $ 1.run(ApplicationImpl.java:314)     在java.util.concurrent.Executors $ RunnableAdapter.call(Executors.java:511)     在java.util.concurrent.FutureTask.run(FutureTask.java:266)     在java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)     在java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:617)     在java.lang.Thread.run(Thread.java:745)

1 个答案:

答案 0 :(得分:3)

这是一个已知的错误:https://youtrack.jetbrains.com/issue/WI-43622。切换回XDebug 2.6应该可以解决它。