使用xdebug设置VSCode:pathMapping

roc*_*ter 3 xdebug visual-studio-code vscode-settings

我正在尝试在VSCode中设置调试,并且遇到了一些挑战。我输入了localSourceRoot的路径,但是Intellisense告诉我它已被弃用,我应该改用pathMapping。

我是新手,不知道如何正确设置。如果有人可以向我解释pathMapping请求的变量和/或属性,那么我将永远背负着您的重担。

我的系统信息如下:PHP版本:5.524 xdebug版本:2.2.5 OS Windows 8.1使用桌面服务器版本:3.8.5

我检查了phpinfo(),它在文件中显示Xdebug,因此我知道它已安装。launch.json文件是使用9000端口以及所有其他端口的非常基本的功能。我只需要完成该行就可以了。

感谢您提供的所有帮助。

小智 6

我猜您正在使用PHP调试扩展?

https://github.com/felixfbecker/vscode-php-debug

README.md表示以下内容:

远程主机调试

要在远程主机上调试正在运行的应用程序,需要告诉XDebug连接到与localhost不同的IP。可以通过将xdebug.remote_host设置为IP或通过将xdebug.remote_connect_back = 1设置为使XDebug始终连接回执行Web请求的计算机来完成。后者是唯一的设置,它支持多个用户调试同一台服务器并且对Web项目“有效”。同样,请参见有关该主题的XDebug文档以获取更多信息。

为了使VS Code将服务器上的文件映射到本地计算机上的正确文件,必须在launch.json中设置pathMappings设置。例:

// server -> local
"pathMappings": {
  "/var/www/html": "${workspaceRoot}/www",
  "/app": "${workspaceRoot}/app"
}
Run Code Online (Sandbox Code Playgroud)

另请注意,设置任何CLI调试选项均不适用于远程主机调试,因为该脚本始终在本地启动。如果要在远程主机上调试CLI脚本,则需要从命令行手动启动它。


Dan*_*iel 5

因此,这既是对我自己的参考,也是对其他可能觉得这有帮助的人的参考。我正在使用 xdebug 和 drupalvm 运行 VSCODE,在 php.ini 中设置以下内容后,以下内容对我有用

php_xdebug_idekey: VSCODE

{
// 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,
        "pathMappings": {
            "/var/www/drupalvm/drupal": "${workspaceRoot}/drupal",
          },
        "log": true
    },
    {
        "name": "Launch currently open script",
        "type": "php",
        "request": "launch",
        "program": "${file}",
        "cwd": "${fileDirname}",
        "port": 9000
    }
]
Run Code Online (Sandbox Code Playgroud)

}