繁体   English   中英

使用SSH连接编辑代码时,使用Xdebug进行VSCode远程调试

[英]VSCode remote debugging with Xdebug when using SSH connection to edit code

不知道如何配置pathMappings在VSCode调试配置,当我打开一个远程目录上使用的VSCode远程浏览器插件SSH在Windows机器一个Linux网络服务器。 如果我在本地存储源代码的副本,并使用本地源代码启动VSCode,则调试正常。

Web服务器是Ubuntu 14 Lamp,本地系统是Windows10。使用VSCode中的Remote Explorer插件从Windows工作站SSH到Linux服务器并在服务器上编辑源代码。

当我将源文件存储在本地并通过打开本地副本启动VSCode时,这在VSCode调试配置中可以正常工作。

        pathMappings": {
           "/var/www/html/codeigniter/": "${workspaceRoot}",
        },

当我使用远程资源管理器在Windows上启动VSCode时,此配置不起作用。 我通过远程资源管理器连接到此根文件夹/var/www/html/codeigniter/

当我通过VSCode的SSH插件在Linux服务器上打开文件时,我希望断点能够识别并停止代码,但是它们不是,并且代码运行时不会遇到断点。

谢谢回复。 我想避免拥有我的代码的副本,以便可以在调试时进行编辑。 我最终确实使事情正常了。 因此,我可以使用VSCODE ssh connect,然后在服务器上调试和编辑源代码,而无需创建本地副本。

"name": "Listen for XDebug",
"type": "php",
"request": "launch", 
"port": 9000    

在我的linux服务器上,我的xdebug设置

xdebug.remote_handler=dbgp
xdebug.remote_log="/tmp/xdebug/log"
xdebug.profiler_enable = 1
xdebug.remote_enable = 1
xdebug.remote_port = 9000
xdebug.remote_autostart = 1
xdebug.remote_host = 127.0.0.1

我必须将remote_host设置为localhost,然后一切正常。 我对xdebug的理解不足,以至于即使IDE调试器在同一主机上运行,​​也需要设置remote_host。 我还对vscode不太了解,以至于在SSH远程编辑模式下,调试组件实际上是安装在远程服务器上的,从而使其成为xdebug与远程主机之间的localhost连接。

无论如何,问题已解决。 感谢您的回答,这对我的前进道路有所帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM