4

我在我的 PHP 项目中编写了自己的异常和错误处理程序。

但是,在进行开发时,除了我自己的之外,我还想让 XDebug 进行正常的“异常”和“错误”处理。

我发现如果我自己的错误处理程序返回 FALSE,我可以很容易地让 XDebug 继续进行“错误”处理。但是我找不到通过“异常”处理获得类似效果的方法。

我希望我可以手动调用 XDebug 函数。xdebug_print_function_stack() 是我能看到的最接近的东西,但它不会给出触发异常的真正堆栈跟踪。

4

1 回答 1

2

Xdebug 为每个throwed 添加一个属性Exception,即xdebug_message,它包含 Xdebug 通常显示的表的内容。

因此,要将带有 stacktrace 的异常可视化为 Xdebug,您可以执行以下操作:

try {
   $result = fetch();
}catch(Exception $e){
   echo '<table>' . $e->xdebug_message . '</table>';
}

在搜索我的文档时,xdebug_message我偶然发现了一个可能重复的问题:Xdebug Exception 类的方法

于 2015-01-13T22:39:30.960 回答