我在PHP项目中编写了自己的异常和错误处理程序。
然而,在进行开发时,我想让XDebug做正常的"例外"和"错误"处理我自己的。
我发现我可以很容易地让XDebug继续做"错误"处理如果我自己的错误处理程序返回FALSE。但我无法找到一种方法来获得类似的效果" Exception"处理
我希望我可以手动调用XDebug函数。 xdebug_print_function_stack()是我能看到的最接近的东西,但它不会给出触发异常的真实堆栈跟踪。
答案 0 :(得分:2)
Xdebug为每个抛出的 Exception
添加一个属性,即xdebug_message
,其中包含通常由Xdebug显示的表的内容。
因此,要将stacktrace可视化为Xdebug,您可以执行以下操作:
try {
$result = fetch();
}catch(Exception $e){
echo '<table>' . $e->xdebug_message . '</table>';
}
在搜索xdebug_message
的文档时,我偶然发现了一个可能重复的问题:Methods for an Xdebug Exception class