我正在Windows 10 Pro 64位上使用Wamp。首先,基于PHP XDebug的调试在Visual Studio Code中的常规Core PHP应用程序上可以正常运行,但是当我开始调试基于PhalconPhp(MVC)的应用程序时,无论我尝试什么,它都将在第一个断点处停止并且不会继续-继续(F5) ,跳过(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
{
// 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
},
{
"name": "Launch currently open script",
"type": "php",
"request": "launch",
"program": "${file}",
"cwd": "${fileDirname}",
"port": 9000
}
]
}
没有错误消息。调试器不会移动一英寸,并且会停留在第一个断点处。我只能在调试器中重新开始执行,其他所有操作(“进入”,“跳过”,“继续” ...)均不起作用。我也有xdebug.log
,但是看不到任何有用的东西。
答案 0 :(得分:0)
在Setting->Debug
中,应取消选中"Break at first line in PHP scripts"
项,此设置适用于phpstorm
,但我认为其他IDE相同。
更新
对于VS代码:
launch.json文件的设置为"stopOnEntry":true
。将此更改为false可以防止这种情况。可以在code.visualstudio.com/docs/python/debugging#_stoponentry
答案 1 :(得分:-1)
我最近开始使用VS Code调试php(wordpress)。当我启用多个断点时,有时会像您描述的那样卡住。当我在任何时候仅启用一个断点时,它似乎都能正常运行。尽管并非没有麻烦,但总比没有解决方案要好。我猜想,当多个线程达到断点时,它们都会尝试与xdebug交谈并以某种方式解除锁定。