debugging 在PhpStorm中使用Xdebug时,出现“Debug session was finished without being paused”(调试会话已完成,但未暂停),且执行中未停止

ajsxfq5m  于 2023-04-12  发布在  PHP
关注(0)|答案(2)|浏览(271)

我正在尝试使用Xdebug 3.0和PhpStorm 2021.1调试Web应用程序中的问题。我使用Debian 10在WSL 2上设置,其中我安装了Xdebug并在/etc/php/7.3/fpm/conf.d/20-xdebug.ini中使用了以下设置:

zend_extension=xdebug.so                                                                                 xdebug.session=xdebug
xdebug.mode=debug
xdebug.start_with_request=yes
xdebug.client_host=XXX.XX.XXX.X
xdebug.client_port=9000
xdebug.max_nestling_level=10000
xdebug.log="/var/log/xdebug.log"
xdebug.idekey=xdebug

我使用的是Symfony 5.3,当我使用symfony server:log来流式传输日志时,我收到了Xdebug: [Step Debug] Time-out connecting to debugging client, waited: 200 ms的多个错误消息,但设置断点会正确停止我的Web应用程序。在尝试修复此问题后,我现在在PhpStorm中收到以下错误:
调试会话已完成,但未暂停这可能是由于路径Map配置错误或本地和远程项目未同步所致。”
我采取的步骤:

  • 根据Xdebug: [Step Debug] Time-out connecting to debugging client, waited: 200 ms. Tried: localhost:9003在20-xdebug.ini中设置xdebug.start_with_request=trigger,成功修复了超时警告消息
  • 向控制器添加断点
  • 在Xdebug Chrome扩展中启用调试
  • 在PhpStorm中启用监听PHP调试连接
  • 导航到应导致命中断点的视图
  • 执行在每个视图上停止(即使是那些在控制器中没有断点的视图),PhpStorm Debugger终端出现错误消息Click to set up path mappings
  • 选中了“使用路径Map”复选框,从而删除了Map错误

我期待的是:

  • 让我的网页和控制器的执行在断点被命中的事件期间停止。

实际结果:

  • 加载每个网页时,断点不会停止执行(我尝试了其他断点,以确保这不是一个孤立的问题)
  • 我在PhpStorm事件日志中收到“Debug session was finished without being paused”警告。

我采取的进一步措施没有成功:

  • 将触发器设置更改回xdebug.start_with_request=yes
  • 在路径Map设置中添加服务器上的绝对路径

支持内容:
事件日志消息x1c 0d1x
PhpStorm Xdebug设置

我的问题的影响:

  • 它阻止我在我的Web应用程序中诊断CSRF问题,我需要修改该应用程序以获得功能性登录表单。

非常感谢您的帮助!

ss2ws0br

ss2ws0br1#

我提供了很多细节在我的问题,但它原来是一个非常简单的答案...经典!
对于其他人,我所做的只是该高速缓存无效并重新启动PHPStorm
1.转到文件〉无效缓存...
1.选中“清除下载的共享索引”
1.单击“无效并重新启动”
结果:

  • 断点现在停止对正确视图的执行

我希望这是有帮助的。

11dmarpk

11dmarpk2#

接受的答案对我不起作用,但以下是:

  1. PHPStorm〉设置〉PHP〉服务器
    1.选择相应的服务器
    1.“使用路径Map”已被选中。我的设置是本地的,所以这是不正确的。取消选中使它检测到调试会话。

相关问题