如何调试最后一行上下文?

时间:2016-06-04 15:06:33

标签: php phpstorm xdebug

当我在上下文的最后一行设置断点时,它会在我获得返回值之前跳转。

例如,如果我有一个像:

这样的函数
function SomeFunc(){

    // some stuff going on

    $value = ThisReturnsAValue();  // breakpoint set on this line
}

在跳出上下文之前,我无法看到$value的价值。

我发现自己正在做的是添加另一个变量,这样我就可以在返回值后断开:

function SomeFunc(){

    // some stuff going on

    $value = ThisReturnsAValue();  
    $foo = '';  // breakpoint now set on this line
}

然后可以在我的手表中查看$value

这感觉不对。在离开上下文之前,是否有某个选项来评估最后一行?

(我正在使用PHPStorm& Xdebug)

1 个答案:

答案 0 :(得分:0)

对此没有真正的解决方案。我做同样的事情。

我甚至做过这样的事情:

$return = $this->doStuff();
return $return;

只是在返回前查看返回值。

在IntelliJ中可以选择设置不同类型的断点,但它们在PHPStorm / for PHP中不可用。我的猜测是由于XDebug的限制,或者他们还没有得到它。

在此之前,您可能会使用conditional breakpoint更接近您想要的内容。只需正常设置断点,右键单击红色子弹并添加条件。现在,当条件不满足时,它将继续愉快。