首页 > 解决方案 > 如何为 Xdebug 3.0 版设置 VSCode launch.json?

问题描述

我现在正在构建 Laravel 项目。几天前,我重新安装了操作系统(Windows 10)并重建了所有的开发环境。问题是 Xdebug 的更新版本。

使用 Xdebug 版本 2 调试后端效果很好,但我已经从 xdebug.org/wizard 下载了使用 Xdebug v3 设置的 dll 文件,并根据指南(就像我以前做过的那样)。但我不能再调试了。

这是我的 launch.json 文件(旧版本)

{
    // Use IntelliSense to learn about possible attributes.
    // Hover to view descriptions of existing attributes.
    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Listen for XDebug",
            "type": "php",
            "request": "launch",
            "port": 9000
        },
        {
            "name": "Launch currently open script",
            "type": "php",
            "request": "launch",
            "program": "${file}",
            "cwd": "${fileDirname}",
            "port": 9000
        }
    ]
}

似乎有一些从 v2 更新的功能。

在此处输入图像描述

类似于上图的东西。我尝试了所有可以但找不到解决方案的案例..有人可以帮助我吗?任何建议都值得赞赏。谢谢。

标签: phpvisual-studio-codexdebug

解决方案


IDE:
正如升级指南 ( https://xdebug.org/docs/upgrade_guide ) 所示,首先改变的是 IDE 应该监听连接的端口号。您已突出显示,但请确保将其更改为9003在 json 配置文件中。这应该是您必须在 IDE 中进行的唯一更改。

Next - Xdebug 的配置:Xdebug 中
有这个新设置:(xdebug.modehttps://xdebug.org/docs/all_settings#mode 。它的默认值是develop并且你必须改变它(明确地设置它为debug)以便将 Xdebug 置于调试模式(你必须为此改变php.ini)。请参阅文档以获取更多详细信息。

更新:
正如@LazyOne 在评论部分正确建议的那样,如果您想保留端口 9000,您可以跳过在 VS Code 中修改它,而是在 Xdebug 设置中将端口设置回 9000:https ://xdebug.org /docs/step_debug#client_port

话虽如此,默认端口号被更改是有原因的:https ://bugs.xdebug.org/view.php?id=1848 。您可能希望采用新的端口号。


推荐阅读