【发布时间】:2019-11-12 23:39:59
【问题描述】:
我在 Windows 10 Pro 64 位上使用 Wamp。首先,基于 PHP XDebug 的调试在 Visual Studio Code 中的普通核心 PHP 应用程序上运行良好,但是当我开始调试基于 PhalconPhp (MVC) 的应用程序时,它会在第一个断点处停止并且不会继续,无论我尝试什么 - 继续 (F5) , Step Over (F10) 等。所有键或选项都不起作用。
我已经检查了所有类似的问题和解决方案 - 尝试在 php.ini 和 launch.json 中将端口从默认的 9000 更改为 9001,添加了各种帖子中建议的所有额外配置,尽管我没有进行远程调试。尝试设置单个和多个断点,并尝试将它们保持在代码开头、中间或结尾的不同行。
php.ini
xdebug.remote_enable = 1
xdebug.remote_autostart = 1
xdebug.remote_connect_back=1
xdebug.profiler_enable = On
xdebug.profiler_enable_trigger = On
xdebug.profiler_output_name = cachegrind.out.%t.%p
xdebug.profiler_output_dir ="R:/Temp"
xdebug.show_local_vars=1
xdebug.remote_port = 9000
xdebug.remote_log=R:\Temp\xdebug.log
launch.json
{
"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
}
]
}
没有错误消息。调试器不会移动一英寸并停留在第一个断点处。我只能在调试器中重新开始执行,其他操作(Step In、Step Over、Continue...)都不起作用。我也有xdebug.log,但没有看到任何有用的东西。
更新: 调试对所有 Php 程序都运行良好,包括 Phalcon 与 VSCode 1.36.1、XDebug 2.6.1、Php 7.2.14 在 Windows 10 上。我认为 VSCode 和 XDebugger 存在一些不兼容问题对于较新的版本,但不确定。
【问题讨论】:
-
你有活跃的手表吗?当我在手表中有一些不可用的变量时(它们是在调试另一段代码时添加的)时,我就会出现这种行为
-
我不记得当我遇到这个问题时是否有活跃的手表,很可能没有。已经解决了。它开始自己工作。我发现的主要事情是必须设置 show_local_vars = 1 和 remote_enable = 1 才能使其工作。我看到另一个帖子说 show_local_vars = 9。也可以使用。
-
当前解决方案:我相信人们正在访问它,所以分享:当我的调试再次停止工作时,我下载了最新的 XDebug DLL 2.9.6 和 VSCode Ver 1.46.1。我向 VSCode Debugging stopped working with Php framework Phalcon 的 Php Debugger 扩展开发人员提出了这个问题,但没有得到回应。我相信开发商现在不支持它。我的调试非常适合在 Windows 10 上使用 Php 7.2.14、VSCode Ver 1.36.1 和 XDebug Ver 2.6.1 的核心 Php 和 Phalcon 程序。它不适用于 Php 7.3 和 7.4。 HTH
标签: php debugging visual-studio-code xdebug phalcon