我正在尝试调试我的协同欺骗测试。
我使用PHPStorm + XDebug的调试平台在使用以正确的IDE键作为cookie的from浏览器时工作得很好。
但是,当尝试使用CLI调试codecept时,我遇到以下问题:
如果我试图通过 request 、 Out或跨一步,xdebug将忽略我的请求,并且总是逐步进入当前行。
这使得我的测试很难继续下去。
我试过使用两个平台:我通常的流浪者+ nginx + php5-fpm (用远程调试)和wamp (本地调试)。
任何帮助都将不胜感激!
--
更新:--好吧,这与协同欺骗无关。我试过使用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,而不是step_into。所以也许是一个带有xdebug的bug?
奇怪的是,这种事并不总是发生。在改变了配置后,它有时不会发生,但是bug似乎又回来了.
发布于 2017-01-06 15:17:21
我也遇到了一个类似的问题。对我来说,无论我提出什么要求,PHPStorm总是跳出来。
移除所有手表也为我解决了这个问题!
发布于 2015-08-07 15:41:01
我遇到了同样的问题,并且能够通过删除.idea目录并让PHPStorm重新创建它来修复它。
对我来说,这似乎是一个棘手的问题,经过一些尝试和错误之后,我能够将问题追溯到在PHPStorm中定义的手表。
你应该能够通过移除所有的手表来解决这个问题。您可能需要让当前的调试会话完成,但下一个会话应该能够正常工作。
发布于 2022-08-17 15:10:19
我也有过类似的问题。PHP在Ubuntu系统上运行。无论我对IDE做了什么,当我试图跨出它时,它都会出现奇怪的错误(例如,Call to a member function ... on unknown --但是在PHP中没有未知的东西,所有东西都是空的,或者有标量类型或对象类型,所以没有意义)。
经过一些尝试,我更新了系统上的所有内容,包括PHP和Xdebug版本,并进行了修复。
sudo apt update
sudo apt upgrade在那之后,它就像它应该的那样工作。
https://stackoverflow.com/questions/30611816
复制相似问题