PhpStorm Xdebug 走错行

我使用 Xdebug/PhpStorm 很长时间了,从未见过这个问题:


PhpStorm 2019.1.3

码头工人 18.09.2

图像mattrayner/灯:latest-1804

Ubuntu 16.04.6

PHP v7.3.3-1+ubuntu16.04.1+deb.sury.org+1

当我在 PhpStorm 中运行调试器时,调试器在正确的行上中断,但是当我单步执行代码时,它跳转到代码中的随机位置,浏览器收到空响应,日志中没有错误。


更多信息:


我在带有 image mattrayner/lamp:latest-1604 的同一台机器上有一个类似的设置 - 在这个设置中问题不会重现


如果我设置“在第一行停止”,我可以在第一行单步执行代码,但后续运行不会单步执行代码,区别:PHP 版本 5.5.9-1ubuntu4.27,Ubuntu 14.04.6


当调试器中断时,任何操作都将失败 - 例如,单击运行将完成执行,但浏览器显示空响应且中断后不执行任何操作。


内容 /etc/php/7.3/apache2/conf.d/20-xdebug.ini


zend_extension=xdebug.so

xdebug.remote_enable=1

xdebug.remote_handler=dbgp

xdebug.remote_mode=req

xdebug.remote_port=9000

xdebug.remote_connect_back=0

xdebug.remote_host=host.docker.internal

知道如何解决吗?


尝试了不同的版本 (7.2, 7.3, 7.4) - 结果相同:

http://img1.mukewang.com/615ff49c0001fb4e10080338.jpg

这是我的路径映射

http://img.mukewang.com/615ff4a600017de319121081.jpg

和我的 Apache conf


<VirtualHost *:443>

        ServerAdmin webmaster@localhost

        ServerName dev.usaddress.com



        CustomLog /var/log/apache2/access.log vhost_combined


SSLEngine on

SSLCertificateFile /app/dev.usaddress.com.crt

SSLCertificateKeyFile /app/dev.usaddress.com.key


         DocumentRoot /app/usaddress


        <Directory  /app/usaddress>

Options Indexes FollowSymLinks MultiViews

               AllowOverride All

                Require all granted



        </Directory>


</VirtualHost>


三国纷争
浏览 172回答 3
3回答

临摹微笑

对我来说,这个问题是由于在第一个断点被击中时在评估过程中导致错误的监视表达式。移除有问题的手表解决了它。

摇曳的蔷薇

关闭你的项目进入项目目录删除.idea文件夹使用项目目录创建一个新项目转到“编辑配置”并重新创建您的调试配置运行调试器笔记:我无法使用类似的环境重现此错误我无法使用在同一环境中运行的不同项目重现此错误因此,我尝试重新创建该项目并解决了问题

扬帆大鱼

您应该检查您的路径映射。这通常是我的情况。它可以在您的脚本第一次输入的地方正确映射,但在其他地方可能映射错误。确保您只映射了项目的根目录,或者您在所有可能的路径上都有正确的映射。服务器设置可以在&nbsp;Languages & Frameworks > PHP > Servers如果您查看我的屏幕截图,您会看到只有文件夹public映射到服务器上的绝对路径(这里是/srv/sylius/public)。这意味着其他文件夹将相对于该公用文件夹进行映射。如果您认为这不是一种情况,那么我可以建议您仅尝试从调试器在正确行上逐步中断的地方开始手动检查代码,直到出现意外行为。从那时起,尝试理解为什么会发生这种情况。
打开App,查看更多内容
随时随地看视频慕课网APP