我有一个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();
}
我想要显示此异常的方式与使用xdebug显示未捕获的异常和警告的方式相同(使用CSS和HTML设置样式,可能使用不同的颜色方案)。像这样(由echo $exception->getTrace();
创建):
如果我使用print_r($exception);
我得到了这个,它似乎至少包含了xdebug所需的一些输出:
我尝试了echo $exception->xdebug_message;
,var_dump($exception);
和var_dump($exception->xdebug_message);
,但都没有效果。最后一个似乎是关闭我想要的,但我不能让它正常工作:
有没有办法将xdebug样式用于捕获的异常?
答案 0 :(得分:1)
好的,我在all xdebug functions列表中找到了一个解决方案:
xdebug_print_function_stack($exception);
答案 1 :(得分:0)
在这里回答:https://stackoverflow.com/a/24768176/1286814。
简而言之,您只需要将xdebug_message
包装在表格中:
echo '<table>'.$e->xdebug_message.'</table>';