PhpStorm 未将 xdebug 显示为在断点处停止 (docker)
PhpStorm not displaying xdebug as stopped on breakpoint (docker)
所以我有我的网络服务器容器 运行ning xdebug,我有 xdebug.remote_log 设置所以我可以诊断问题。如果我在第一行放置一个断点 phpstorm 的行为符合预期,它会中断,为您提供正常的选项。但是如果你允许它继续 运行ning 超过那个点 phpstorm 看起来代码超时,它就会挂起。但是,如果我在这段时间读取 xdebug remote_log,它会报告它已成功命中我设置的下一个断点并在那里等待,phpstorm 显示代码正在执行。
以下是配置的一些屏幕截图:
php.ini
设置 > 语言和框架 > php > 调试
设置>语言和框架>php>服务器>本地主机(docker)也就是我唯一添加的服务器
xdebugs 结尾的屏幕截图 remote_log。从 public/index.php 初始断点,然后我允许它到 运行。然后在这里它声明它在 ListController.php 中中断,这是下一个断点的正确位置。正如您可能从上一张图片中猜到的那样,在 docker 中,回购在 /srv/www 中,而在我的本地它在 /home/myname/Development/projectName/checkout.
中
xdebug remote_log: https://pastebin.com/faiQqwMT
some code so Whosebug will let me link the log
我唯一感兴趣的部分 idea.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' 的参数不能为空
在 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)
这是一个已知错误:https://youtrack.jetbrains.com/issue/WI-43622。切换回 XDebug 2.6 应该可以解决这个问题。
所以我有我的网络服务器容器 运行ning xdebug,我有 xdebug.remote_log 设置所以我可以诊断问题。如果我在第一行放置一个断点 phpstorm 的行为符合预期,它会中断,为您提供正常的选项。但是如果你允许它继续 运行ning 超过那个点 phpstorm 看起来代码超时,它就会挂起。但是,如果我在这段时间读取 xdebug remote_log,它会报告它已成功命中我设置的下一个断点并在那里等待,phpstorm 显示代码正在执行。
以下是配置的一些屏幕截图:
php.ini
设置 > 语言和框架 > php > 调试
设置>语言和框架>php>服务器>本地主机(docker)也就是我唯一添加的服务器
xdebugs 结尾的屏幕截图 remote_log。从 public/index.php 初始断点,然后我允许它到 运行。然后在这里它声明它在 ListController.php 中中断,这是下一个断点的正确位置。正如您可能从上一张图片中猜到的那样,在 docker 中,回购在 /srv/www 中,而在我的本地它在 /home/myname/Development/projectName/checkout.
中xdebug remote_log: https://pastebin.com/faiQqwMT
some code so Whosebug will let me link the log
我唯一感兴趣的部分 idea.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' 的参数不能为空 在 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)
这是一个已知错误:https://youtrack.jetbrains.com/issue/WI-43622。切换回 XDebug 2.6 应该可以解决这个问题。