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