【问题标题】:PHP - Xdebugger in Visual Studio Code detects and pauses at a specific break point correctly but F5, F11(Continue, Step Into) do not workPHP - Visual Studio Code 中的 Xdebugger 正确检测并在特定断点处暂停,但 F5、F11(继续,步入)不起作用
【发布时间】:2018-06-21 23:15:34
【问题描述】:

我在调试检测断点和触发时遇到了一个非常烦人的问题,但是 Step into(F11)、Continue(F5) 无法正常工作。这只是突然开始的一天,我早些时候工作得很好。我可能是 Visual Studio 代码和 php 开发的新手。但我不是这样的新手开发人员。这真的让我很烦,没有 F5 和 F11 我感觉很残废。不知道我错过了什么!!!!

我的设置:

  1. 已安装 MAMP。
  2. 已安装 Visual Studio Code。(v 1.19.2)
  3. 已安装 PHP。
  4. 为 Visual Studio 代码安装了所有 php 扩展。
  5. 我的PHP工作区调试的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
        }
    ]
    

    }

我的调试过程:

  1. 使用 Visual Studio Code 打开 PHP 工作文件夹。
  2. 在我的 php 代码中设置断点。 (例如:在 IotSim.php 文件中放置断点)
  3. 通过在控制台中键入以下内容,在端口 8000 上运行 php 服务器的本地文件夹实例: c:....\php\src\www> php -S localhost:8000
  4. 这将启动本地 php 实例。
  5. 在 VS Code 中按 F5 并启动“Listen to Xdebug”
  6. 打开浏览器并在地址栏中键入以下内容: http://localhost:8000/iotsim.php/?XDEBUG_SESSION_START
  7. 这会触发 VS Code 中的 Xdebugger 侦听器并在断点处暂停。
  8. 但是 F11、F5、...!!没有任何作用。它只是静止不动。请帮忙。

上面从 1 到 7 的所有点都是我猜测的每个人在调试期间执行的默认过程......但是我做错了什么。请帮忙!!!

我愚蠢而烦人的工作是删除所有断点,只需在我要检查值的行之后放置一个断点。见下图:

请帮忙!!

【问题讨论】:

  • 1) 那么......当断点设置为屏幕截图时,这些按钮是否有效?或者无论断点在哪里设置,他们什么都不做? 2)您是否在一个简单的脚本上对其进行了测试(就像将值分配给 2 个变量然后添加这些值并分配给第三个变量一样简单?同样的行为?3)如果它在简单的脚本中工作正常......什么样的 URL你在curl_exec() 行中请求?我的意思是——那个 URL 是由同一个服务器提供的吗?我在想……也许 xdebug 也会尝试调试该调用(取决于 xdebug 的配置方式),而 VSC 无法一次处理 2 个调试会话。
  • 您好,感谢您的建议。对于您的每个问题,我的 cmets 如下 1) 不,当我用鼠标单击或使用 F11/F5 时,按钮也不起作用。 2)确实按照您的建议创建了一个简单的脚本,它仍然是相同的,相同的行为! 3) 相同的行为,无法 F5/F11 或没有任何反应
  • 哇!我刚刚创建了一个新的工作区文件夹并将所有源文件复制到新文件夹中,Xdebugger 工作正常。我第一次单击 F5,选择 PHP,它生成了新的 launch.json,它现在可以正常工作了!! !!我比较了两个json,它们看起来也一样!!!从逻辑上讲,两个工作区的结构是相同的。真的很好奇这里有什么区别但是一旦我有时间我会研究这个并发布解决方案。目前只是很高兴调试器正在工作,我必须回到我的工作中

标签: php debugging visual-studio-code xdebug


【解决方案1】:

对于遇到这种情况的其他人 - 移除您的手表。如果超出范围并返回 null,则会导致继续/步进不起作用。

【讨论】:

  • 很棒的提示!省了我很多挫折。祝你有美好的一天:-)
  • 这行得通!我已经尝试解决这个问题好几个小时了......当然,扩展可以更好地处理监视变量或包含一个!警告!在其文档的某个地方。啊!
猜你喜欢
  • 2019-03-31
  • 1970-01-01
  • 2020-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-12-30
  • 1970-01-01
  • 2022-06-16
  • 2019-03-19
相关资源
最近更新 更多