我正在尝试调试 Codeception 测试。
使用 PHPStorm + XDebug 的调试平台在使用右侧 IDE-KEY 作为cookie的浏览器时效果很好。
但是,在尝试使用 CLI 调试codecept时遇到以下问题:
如果我尝试恢复,退出或跳过,xdebug会忽略我的请求并始终步入当前行。
这使得我的测试很难继续进行。
我尝试过使用两个平台:我常用的流浪汉+ 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">
调用step_over,而不是step_into。所以也许是xdebug的错误?
奇怪的是,这并不总是发生。更改配置后,它有时不会发生,但随后该错误似乎又回来了......
答案 0 :(得分:4)
我也遇到了类似的问题。对我来说,无论我提出什么要求,PHPStorm总是会跳出来。
删除所有手表也解决了我的问题!
答案 1 :(得分:3)
我遇到了同样的问题并且能够通过删除.idea目录并让PHPStorm重新创建它来修复它。
这对我来说似乎是一个沉重的修复,经过一些反复试验后,我能够将问题追溯到PHPStorm中定义的手表。
您应该可以通过删除所有手表来解决问题。您可能需要让当前的调试会话完成,但下一个调试会话应该正常工作。