NetBeans + xdebug: нет трассировки стека для исключений PHP - PullRequest
2 голосов
/ 07 августа 2011

Я программист на C ++ / C #, у которого есть опыт создания сайтов на PHP.Я недавно установил NetBeans и xdebug, потому что больше не мог работать без отладчика.Пошаговое выполнение кода работает как чудо, но не может заставить xdebug приостановить работу исключений и показать мне стек вызовов.

Вот пример:

<?php
    // File is not found. xdebug should stop and show the call stack.
    require 'nonexistant.php';
?>

Я работаюна Mac (Snow Leopard) с использованием локального сервера MAMP PRO 2.0.1.У меня NetBeans 7.0.1, настроенный для работы с моим интерпретатором MAMP PHP, с xdebug 2.1.0.Вот мои текущие настройки xdebug, расположенные в моем файле "php.ini":

zend_extension="/Applications/MAMP/bin/php/php5.3.6/lib/php/extensions/no-debug-non-zts-20090626/xdebug.so"
xdebug.default_enable=1
xdebug.remote_enable=1
xdebug.remote_handler=dbgp
xdebug.remote_host=localhost
xdebug.remote_port=9000
xdebug.remote_autostart=1

Вот скриншот моих настроек в NetBeans:

NetBeans PHP Options for xdebug

Я проверил, что настройки в "php.ini" загружаются, и что NetBeans правильно настроен для отладки, но я все еще не могу получить исключение или внутреннюю ошибку для создания трассировки стека.Любой берущий?:)

1 Ответ

1 голос
/ 05 сентября 2011

Включены ли display_errors?

Для вашего конкретного примера:

<?php
    // File is not found. xdebug should stop and show the call stack.
    require 'nonexistant.php';
?>

Вы создаете фатальную ошибку, и в php.ini необходимо включить display_errors.Неустранимая ошибка не будет отображаться, если вы используете ini_set () во время выполнения.

Чтобы просмотреть трассировку стека для обнаруженного исключения, вам необходимо включить:xdebug.show_exception_trace

Будь здоров,Джо

...