Xdebug异常类的方法

时间:2014-07-14 15:33:57

标签: php xdebug

是否可以看到扩展的Exception类Xdebug创建的方法?我希望得到HTML格式的堆栈跟踪。

2 个答案:

答案 0 :(得分:4)

因此,在黑客入侵之后,没有像Niels所示的方法,但是有一个名为$ exception-> xdebug_message的公共属性,它具有HTML格式的消息。如果要将它放在HTML页面中,请不要忘记将其包装在表格标记中。

echo '<table>';
echo $exception->xdebug_message;
echo '</table>';

答案 1 :(得分:1)

获得花哨的HTML输出跟踪:

ob_start();
xdebug_print_function_stack();
$myFancyHTMLOutput = ob_get_clean();

传递选项XDEBUG_STACK_NO_DESC以省略标题。

但是,Xdebug实际上并没有将可见方法修补到Exception,正如在异常处理程序中打印get_class_methods($e)所证明的那样:

array (size=9)
  0 => string '__construct' (length=11)
  1 => string 'getMessage' (length=10)
  2 => string 'getCode' (length=7)
  3 => string 'getFile' (length=7)
  4 => string 'getLine' (length=7)
  5 => string 'getTrace' (length=8)
  6 => string 'getPrevious' (length=11)
  7 => string 'getTraceAsString' (length=16)
  8 => string '__toString' (length=10)

您当然可以自己从getTrace返回的数组中自行格式化,但是nothing to do with Xdebug and is just built in functionality