我是运行PHP CLI应用程序。
如果我设置断点,xdebug就会停止。如果我写xdebug_break();
它也会停止。
如果应用程序抛出异常,我可以停止吗?
我的ini文件:
php -i | grep php.ini 加载的配置文件=>的 /etc/php5/cli/php.ini
xdebug.remote_enable=1
xdebug.remote_handler=dbgp
xdebug.remote_mode=req
xdebug.remote_host=127.0.0.1
xdebug.remote_port=9000
答案 0 :(得分:2)
我知道游戏可能有点晚了,但您可以使用:
function my_exception_handler(Throwable $e) {
if (function_exists('xdebug_break') )
xdebug_break();
die('Exception: ' . $e->getMessage() );
} // Function //
set_exception_handler('my_exception_handler');
正如它在xdebug文档中所述:
bool xdebug_break()
向调试客户端发送断点。
此函数使调试器在特定行上中断,就像a一样 在这一行设置了普通文件/行断点。
答案 1 :(得分:1)
单独使用xdebug是不可能的,但是在php中你可以使用set_exception_handler注册一个捕获未捕获异常的函数。然后,您可以在该函数中放置断点。
请参阅http://php.net/manual/en/function.set-exception-handler.php
您可以对错误执行相同的操作: