2009-12-26 8 views
2

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

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

+0

Я попытался изменить remote_mode на «jit» в php.ini и в коде без результата, за исключением того, что он не прерывается в первой строке при запуске отладки. – Wernight

ответ

3

Как и в вашем комментарии, вам, как правило, необходимо установить 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 

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

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

0

Кроме того, если вы используете Xdebug это может быть хорошей идеей, чтобы activate the profiler

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