NetBeans PHP не ломается при исключении - PullRequest
2 голосов
/ 26 декабря 2009

Я пытаюсь отладить PHP с помощью NetBeans PHP 6.8 с XAMPP в Windows и настройкой xdebug в php.ini . Шаг за шагом, кажется, работает нормально, но когда в PHP есть критическое исключение на веб-сайте, NetBeans не нарушает его.

Я слышал о добавлении точки останова в Exception, но не смог найти ее в NetBeans 6.8. Ctrl + Shift + F8 не позволяет мне останавливаться на «Исключении», только «Метод».

Ответы [ 2 ]

3 голосов
/ 30 декабря 2009

Как сказано в вашем комментарии, вам обычно нужно установить для remote_mode значение 'jit'.

Если отладка не работает, есть несколько вещей, которые вы можете проверить:

  • Добавьте строку xdebug_break(); в свой код и посмотрите, сработает ли отладчик.
  • Добавьте некоторые данные в ваш файл php.ini / xdebug.ini:

    xdebug.remote_log="C:\temp\xdebug.log"
    

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

  • Проверьте phpinfo (), чтобы увидеть, что у вас есть такой вывод:
        This program makes use of the Zend Scripting Language Engine:
        Zend Engine v2.2.0, Copyright (c) 1998-2009 Zend Technologies
            with Xdebug v2.0.5, Copyright (c) 2002-2008, by Derick Rethans  

Если у вас нет строки «with Xdebug», даже если у вас есть полный набор параметров xdebug в списке, вы получите выходные данные, отладку xdebug_break (), но нет пользовательских точек останова. Это также может быть вашей проблемой с точками останова.

Основной причиной этого является неправильная загрузка расширений xdebug. Вам нужно загрузить его как zend_extension=/path/to/xdebug.so - удалить все другие строки, загружая его, начиная с «extension =» или «zend_extension_ts =».

0 голосов
/ 30 декабря 2009

Также, если вы используете xDebug, неплохо было бы активировать профилировщик

В Windows вы можете использовать WinCacheGrind для чтения файла.

...