首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用VSCode连接编辑代码时使用Xdebug进行远程调试

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

Stack Overflow用户
提问于 2019-09-17 05:57:38
回答 2查看 7.5K关注 0票数 4

当我使用VSCode远程资源管理器SSH插件从Windows机打开Linux when服务器上的远程目录时,我不确定如何在VSCode调试配置中配置pathMappings。如果我在本地存储源代码的副本,并用本地源代码启动VSCode,那么调试就能正常工作。

Web服务器是Ubuntu14Lamp,本地系统是Windows10。使用VSCode中的远程资源管理器插件从Windows工作站上ssh到Linux服务器,并在服务器上编辑源代码。

当我将源文件存储在本地并通过打开本地副本来启动VSCode时,这在VSCode调试配置中工作得很好。

代码语言:javascript
运行
复制
        pathMappings": {
           "/var/www/html/codeigniter/": "${workspaceRoot}",
        },

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

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

EN

回答 2

Stack Overflow用户

发布于 2019-09-18 23:57:30

谢谢你的回复。我想避免我的代码副本,这样我就可以在调试时进行编辑。我最终还是让事情运转起来了。因此,我可以使用VSCODE ssh连接,然后在服务器上调试和编辑源代码,而无需制作本地副本。

代码语言:javascript
运行
复制
"name": "Listen for XDebug",
"type": "php",
"request": "launch", 
"port": 9000    

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

代码语言:javascript
运行
复制
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设置为本地主机,然后一切都可以正常工作。我对xdebug的理解还不够深入,无法意识到即使在同一主机上运行集成开发环境调试器,也需要设置remote_host。我对vscode的理解也不够,无法意识到在SSH远程编辑模式下,调试组件实际上安装在远程服务器上,使其成为xdebug和远程主机之间的本地主机连接。

不管怎样,问题解决了。感谢你的回答,它帮助我走上了我的道路。

票数 10
EN

Stack Overflow用户

发布于 2021-05-27 19:25:30

正如Cris所说的,你应该在php.ini中删除xdebug.remote_connect_back=1

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57964886

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档