пятница, 8 июня 2012 г.

Debugging PHP in Eclipse with Xdebug

Xdebug используется  для трассировки стека вызовов, анализа использования памяти и просмотра переменных. Данная заметка посвящена вопросу установки и настройки Xdebug для использования в Eclipse.

Установка Xdebug (Windows)
- скачать необходимую библиотеку
В Windows библиотеки как правило, работают для указанной версии PHP. Маркер VC говорит, каким компилятором это расширение было собрано. Эти квалификаторы должны соответствовать используемой версии PHP. Я использовала php_xdebug-2.1.2-5.3-vc6.dll
Настройка  Xdebug
- добавить в файл php.ini следующее
[XDebug]
zend_extension="C:\php\ext\php_xdebug-2.1.2-5.3-vc6.dll"
xdebug.default_enable = On
xdebug.show_exception_trace = On
xdebug.show_local_vars = 1
xdebug.max_nesting_level = 50
xdebug.var_display_max_depth = 6

xdebug.dump_once = On
xdebug.dump_globals = On
xdebug.dump_undefined = On
xdebug.dump.REQUEST = *
xdebug.dump.SERVER = REQUEST_METHOD,REQUEST_URI,HTTP_USER_AGENT

xdebug.profiler_enable = 1
xdebug.profiler_output_name = cachegrind.out.%t.%p
xdebug.profiler_output_dir = "C:\TEMP\xdebug"
xdebug.trace_output_dir = "C:\TEMP\xdebug"

xdebug.remote_enable = On
xdebug.remote_host="127.0.0.1"
xdebug.remote_port=9002
xdebug.remote_handler="dbgp"
xdebug.remote_log="C:\TEMP\xdebug\xdebug.log"
- проверить запускается ли Xdebug  с помощью <?php phpinfo(); ?>
- в конфигурации я указала порт 9002 вместо 9000 из-за возникновения ошибки на этапе запуска дебагера в эклипсе "Launching 57%: waiting for XDebug session". В эклипсе в настройках дебагера тоже необходимо указать этот порт

Настройка дебаггера  Eclipse PDT
- Window > Prefernces > PHP > Debug (выбрать PHP Debugger: XDebug)
- Window > Prefernces > General > Web Browser (выбрать не внутренний браузер)
- Run > Debug menu (создать конфигурацию отладки)

Ссылки

Комментариев нет: