如何从致命错误中获取调用堆栈?

时间:2009-09-19 12:52:29

标签: php

我在PHP脚本中遇到致命的"Call to a member function on a non-object"错误,但我无法准确追踪 发生这种情况或原因。错误消息非常无用,因为它描述的行在99.9%的时间内都有效。

有没有办法可以获得当前的调用堆栈,跟踪在此致命错误之前正在进行的调用,或者做任何其他事情来帮助追踪此错误?

4 个答案:

答案 0 :(得分:6)

我建议在开发服务器上安装Xdebug。在这类情况下,这是一个非常有价值的工具。

答案 1 :(得分:0)

在上一行错误中使用此项:

var_dump(debug_trace);

答案 2 :(得分:0)

请查看我的答案以及其他各种可能性

How do I catch a PHP Fatal Error

显然,这在某种意义上是部分相关的,它只能捕获致命的错误。您可以修改该函数以捕获其他类型的错误。起点是:

if($error['type'] == 1){

如果已经设置,此方法将覆盖Xdebug输出。

问候   sakhunzai

答案 3 :(得分:-1)