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)