PHP Xdebug调试在第一个断点处停止在VSCode中工作

时间:2019-07-02 10:32:52

标签: php debugging visual-studio-code xdebug phalconphp

我正在Windows 10 Pro 64位上使用Wamp。首先,基于PHP XDebug的调试在Visual Studio Code中的常规Core PHP应用程序上可以正常运行,但是当我开始调试基于PhalconPhp(MVC)的应用程序时,无论我尝试什么,它都将在第一个断点处停止并且不会继续-继续(F5) ,跳过(F10)等。所有键或选项均无效。

我已经检查了所有类似的问题和解决方案-尝试将php.inilaunch.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,但是看不到任何有用的东西。

2 个答案:

答案 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交谈并以某种方式解除锁定。