Могу ли я сделать xdebug stop \ break на исключениях? (Ubuntu / Netbeans IDE / PHP 5.4 / CLI / xdebug)

Я использую 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

4

Решение

Я знаю, что это может быть немного поздно для игры, но вы можете использовать:

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 ()

Выдает точку останова клиенту отладки.

Эта функция прерывает отладчик в определенной строке, как если бы
в этой строке была установлена ​​нормальная точка прерывания файла / строки.

2

Другие решения

Это невозможно только с помощью xdebug, однако в php вы можете использовать set_exception_handler, чтобы зарегистрировать функцию, которая перехватывает необработанные исключения. Затем вы можете поместить точку останова в эту функцию.

Увидеть http://php.net/manual/en/function.set-exception-handler.php

Вы можете сделать то же самое для ошибок:

http://php.net/manual/en/function.set-error-handler.php

1

По вопросам рекламы [email protected]