使用 XDebug + PHPStorm 进行调试迫使我总是介入

Ben*_*enB 2 debugging xdebug phpstorm codeception

我正在尝试调试我的Codeception测试。

当从浏览器使用正确的IDE-KEY作为 cookie时,我使用PHPStorm + XDebug 的调试平台运行良好。

但是,在尝试使用CLI调试 codecept 时,我遇到了以下问题:

  • 如果我在 Cest 类中放置断点,则行为是正常的。我可以跳过函数并单击“恢复”以停止调试。
  • 但是每当我在我的代码(IE 控制器或我的命名空间类)中放置一个断点时,xdebug 就会变得不可用:

如果我尝试ResumeStep OutStep Over,xdebug 会忽略我的请求并始终步入当前行。

这让我的测试真的很难继续。

我尝试过使用两个平台:我常用的 vagrant + nginx + php5-fpm(带远程调试)和 wamp(本地调试)。

任何帮助,将不胜感激!

——

更新: 嗯,这与 Codeception 无关。我尝试仅使用PHPUnit进行测试,结果也是如此。CLI 似乎也不是问题,因为我尝试从浏览器调试 PHPUnit,但没有成功。

我想可能是 PHPStorm 错误,但查看 xdebug 日志,我看到调用了正确的方法:

<- step_over -i 41
-> <response xmlns="urn:debugger_protocol_v1" xmlns:xdebug="http://xdebug.org/dbgp/xdebug" command="step_over" transaction_id="41" status="break" reason="ok">
Run Code Online (Sandbox Code Playgroud)

step_over 被调用,而不是 step_into。那么也许是 xdebug 的错误?

奇怪的是,这并不总是发生。更改配置后,有时不会发生,但是错误似乎又回来了......