nuq*_*qsa 7 php debugging exception xdebug
默认情况下,Xdebug将转储任何异常,无论它是否被捕获:
try {
throw new Exception();
}
catch (Exception $e) {
}
echo 'life goes on';
Run Code Online (Sandbox Code Playgroud)
启用XDebug并且默认设置这段代码实际上会输出如下内容(格式正确):
( ! ) Exception: in /test.php on line 3 Call Stack
# Time Memory Function Location 1 0.0003 52596 {main}( ) ../test.php:0
life goes on
Run Code Online (Sandbox Code Playgroud)
是否可以禁用此行为并使其仅转储未捕获的异常?
提前致谢.
更新:我即将得出结论,这是一个错误,因为默认情况下禁用了xdebug.show_exception_trace但它的行为并不像预期的那样(在Ubuntu 9.10上使用Xdebug v2.0.5和PHP 5.2.10).
更改xdebug.show_exception_trace选项(请注意,默认情况下不启用它).
xdebug.show_exception_trace
类型:整数,默认值:0
当此设置设置为1时,Xdebug将在引发异常时显示堆栈跟踪 - 即使实际捕获到此异常.