Upload
-
View
258
Download
4
Embed Size (px)
Citation preview
Стадник Андрей quazarweb.ru [email protected] @StadnikAndrey
Отладка приложений при помощи xDebug в PhpStorm
Способы отладки
1. Дамп переменных 2. Отладка кода 3. Профилирирование кода
Дамп переменных
echo '<pre>' . print_r($variables) .'</pre>';
Devel dsm(); dpm()
var_dump($variables)
'</pre>'
1.
2.
3.
'<pre>' $variables ..
Devel
$variables
Дамп hook_preprocess_page()
ТЕГ <pre>
Дамп hook_preprocess_page()
модуль Devel
Дамп hook_preprocess_page()
VAR_DUMP($VARIABLES)
Дамп hook_preprocess_page()
xdebug запуск отладчика
Дамп hook_preprocess_page()
xdebug точка остановки
Дамп hook_preprocess_page()
xdebug переменные в точке остановки
Отладка в XDebug1.Продолжить отладку до точки2.Перейти к исполняемой строке3.Войти в функцию4.Войти внутрь минуя конструкторы5.Выполнить функцию не заходя в нее6.Выйти из функции7.Перейти к курсору8.Остановить отладку
Фичи PhpStormВыполнить расчет
Фичи PhpStormWatcher
Фичи PhpStormУсловия приостановки программы
Фичи PhpStormСложные условия приостановки программы
Фичи PhpStormСложные условия приостановки программы
Результат вывод в консоль и расчет выражение в консоли
Фичи PhpStormЕще сложнее, условия приостановки программы
Профилирование кода
Профилирование кода
Профилирование кода
Профилирование кода
Профилирование кода
Настройка//Конфиг xDebug в php.inizend_extension=xdebug.so xdebug.default_enable = On xdebug.var_display_max_depth=6 xdebug.remote_enable=on xdebug.remote_host=127.0.0.1xdebug.remote_port=9000xdebug.remote_handler=dbgp xdebug.idekey=PHPSTORM xdebug.remote_autostart=1 xdebug.remote_log=/tmp/xdebug.log xdebug.profiler_enable_trigger=1 xdebug.profiler_enable=0xdebug.profiler_output_dir=/home/enemis/xdebug-profilerxdebug.show_local_vars=1xdebug.overload_var_dump=1xdebug.max_nesting_level = 10000
Настройка
//Конфиг php.ini
html_errors = On
display_errors = on
Почитать 1. Сайт XDebug xdebug.org 2. Библиотека для kcachegrid graphviz.org 3. Анализ профайлов kcachegrind.sourceforge.net 4. Заметка о Devel функциях xandeadx.ru/blog/drupal/304 5. Удаленная отладка XDebug habrahabr.ru/post/209024 6. xdebug port forwarding habrahabr.ru/post/146547 7. Мой сайт :) quazarweb.ru
Стадник Андрей quazarweb.ru [email protected] @StadnikAndrey