tim*_*tim 6 php exception xdebug
我有一个 PHP 函数,当我发现异常时会调用它。它接受该异常作为可选参数,因此可以出于调试目的显示它:
public static function notFound($resource, \Exception $exception = null) {
// [... normal error handling ...]
if (DEBUG && $exception != null) {
echo '<br><br><h2>Stacktrace:</h2>';
print_r($exception);
}
die();
}
Run Code Online (Sandbox Code Playgroud)
我想要的是以与 xdebug 显示未捕获的异常和警告相同的方式显示此异常(使用 CSS 和 HTML 样式,可能使用不同的配色方案)。像这样(由echo $exception->getTrace();
):
如果我使用print_r($exception);
我得到这个,它似乎至少包含一些 xdebug 所需的输出:
我试过echo $exception->xdebug_message;
, var_dump($exception);
, 和var_dump($exception->xdebug_message);
,但都没有奏效。最后一个似乎是我想要的,但我无法让它正常工作:
有没有办法对捕获的异常使用 xdebug 样式?
在这里回答:https ://stackoverflow.com/a/24768176/1286814 。
简而言之,您只需要包装xdebug_message
在一个表中:
echo '<table>'.$e->xdebug_message.'</table>';
Run Code Online (Sandbox Code Playgroud)
好的,我在所有 xdebug 函数的列表中找到了解决方案:
xdebug_print_function_stack($exception);
Run Code Online (Sandbox Code Playgroud)