在我的项目中,我在运行 VM 的 Vagrant 上有以下 Xdebug 设置:zend_extension=xdebug.soxdebug.remote_host=10.0.2.2debug.repomote_port=9000xdebug.remote_enable=1xdebug.max_nesting_level = 1000xdebug.remote_log=/tmp/xdebug.log在 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": { "/home/vagrant/code": "${workspaceRoot}", } } ]}xdebug 设置位于 vagrant vm 中,而 ide 位于主机上。主机 Ip ( 10.0.2.2) 是通过以下命令提供的:netstat -rn | grep "^0.0.0.0 " | cut -d " " -f10然后我使用xdebug-helper以下设置在 Firefox 上启用调试:但是我的 IDE 无法在断点上停止执行。在调试它时,我打开了一个运行 Vagrant 的虚拟机的 shell 会话:vagrant up && vagrant ssh然后我使用命令使用 TCP 协议测试与它的反向连接到端口 9000(在启用 VSCode 以侦听 xdebug 之后):nc -z -v 10.0.2.2 9000命令本身显示消息:Connection to 10.0.2.2 9000 port [tcp/*] succeeded!此外,VSCode 实例也是一个 vscodium 构建,并具有felixfbecker.php-debug插件。你知道为什么 VSCodium 无法进入断点吗?
1 回答
慕姐4208626
TA贡献1852条经验 获得超7个赞
代码真的被调用了吗?
有时由于前端错误,尤其是在 ajax 调用事件上,您的代码甚至可能根本没有调用。因此,首先确保您的代码实际被调用,然后尝试确定它是否是 xdebug 问题。
因此,正在执行从来宾到主机的 xdebug 连接。并且ip设置正确。因此,完全不调用具有断点的代码段是相当合理的,因此 IDE 不会中断到预期的断点。
- 1 回答
- 0 关注
- 119 浏览
添加回答
举报
0/150
提交
取消