在 xdebug 会话中单步执行代码时可能 运行 任意 php 代码?

Possible to run arbitrary php code while stepping through code in an xdebug session?

就像单步执行代码行时如何更改变量值一样。是否可以在行之间添加 PHP 语句,并在选择更改后让它 运行 更进一步?

可能甚至不可能,因为代码库的状态在开始执行时已经加载到内存中,但我认为值得一试。

Xdebug 可以做到这一点。它与 DBGp 协议中更新变量的机制完全相同。 DBGp "eval" 命令会发生这种情况,您可以猜到,该命令运行 PHP 的 eval 函数。

但这取决于 IDE 他们是否真正实施了这一点。例如,PhpStorm 有它的控制台,它也是这个 eval 命令的包装器。您也可以通过在 "watch" 中使用真正的 PHP 语句来逃脱。