【问题标题】:PhpStorm with xdebug doesn't stop on breakpoints. Log says "Xdebug protocol doesn't support command"带有 xdebug 的 PhpStorm 不会在断点处停止。日志显示“Xdebug 协议不支持命令”
【发布时间】:2019-12-22 02:09:37
【问题描述】:

我在 Windows 7 上的 Virtualbox 中全新安装了 Ubuntu 19.10。

我有最新的 PhpStorm:2019.3(在 Windows 上运行)。

我有 PHP 7.3.11,禁用了操作码,使用 nginx 运行。

我有 xdebug 2.7.2。

我已经完成了配置,就像在另一台使用旧版本的 PhpStorm、PHP 和 xdebug 的机器上一样,效果很好。

当我尝试调试时 - PhpStorm 不会在断点处停止。 我启用了 PhpStorm 的调试日志。我看到有关连接成功的消息,然后:

INFO - n.XdebugConnectionConfigurator - Xdebug protocol doesn't support command: 'feature_set -i 5 -n resolved_breakpoints -v 1' 

我启用了 xdebug 日志记录,并看到了一些成功消息,然后是:

<response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="https://xdebug.org/dbgp/xdebug" command="feature_set" transaction_id="5" status="starting" reason="ok"><error code="3"><message><![CDATA[invalid or missing options]]></message></error></response>

所以在我看来,PhpStorm 实际上是在尝试发送不受支持的命令。

以前有没有人遇到过这个问题并且可以分享一个解决方法?

【问题讨论】:

    标签: php phpstorm xdebug


    【解决方案1】:

    所以在我看来,PhpStorm 实际上是在尝试发送不受支持的命令。

    同时是和否:自 Xdebug 2.8

    起支持 resolved_breakpoints 功能(命令)

    AFAIK 自 PhpStorm 2019.3 以来发送该命令(2019.2.x 及更早版本请勿尝试使用它)。

    以前有没有人遇到过这个问题并且可以分享一个解决方法?

    它根本不会影响您在 Xdebug 2.7.x 和更早版本中的调试会话。这里根本不需要任何解决方法。

    【讨论】:

    • 谢谢,这是很好的反馈,但不幸的是,调试根本不起作用。没有命中断点。你的意思是我的实际问题与此无关,实际上还有一个我尚未确定的单独问题?
    • @obe 是的,它必须是别的东西,因为它在这里仍然可以正常工作(Windows 10;PhpStorm 2019.2.x 和 2019.3.1;本地 PHP 7.3 x64 nts)。我建议创建新问题并在那里提供您的设置/配置 + Xdebug 日志。
    • 好的,看到您的回答后,我尝试回滚到较旧的 PhpStorm。具体的错误消失了,但是调试还是不行。令人沮丧的是,即使在生态系统“成熟”了 10 到 20 年之后的今天,要让如此简单的设置发挥作用仍然如此困难(我的谷歌搜索显示,我并不是唯一一个用它碰壁的人)。每隔几年,我都会尝试一个干净的设置,每次我都因奇怪的问题/不兼容/不清楚或未记录的配置/等而受到惩罚:(
    • 这可能是您的防火墙,可能是错误的 Xdebug 配置,甚至可能是您的 VirtualBox 级别的一些错误配置。在没有看到您的设置/日志的情况下,我无法说出那可能是什么(+ 总会有一些细微差别被人们忽略,因为它们似乎并不重要等)。我个人在我的环境中设置它没有任何问题......但你的可能与我的非常不同。
    猜你喜欢
    • 2018-03-31
    • 1970-01-01
    • 2019-07-31
    • 1970-01-01
    • 2021-06-29
    • 2011-04-30
    • 1970-01-01
    • 2013-08-31
    相关资源
    最近更新 更多