XDebug — если при отладке вам надоели echo(), var_dump() и print_r()
XDebug - мощное расширение для отладки php-скриптов, которое написал норвежец Дерик Ретанс (Derick Rethans, http://www.derickrethans.nl, project leader for the eZ components). Работает как под Windows, так и под Linux, поддерживает версии PHP 4.4.1+, PHP 5.1.2+, PHP 5.2.1+.
Данное расширение предоставляет следующую информацию:
- стэк вызовов функций
- распределение памяти (memory allocation)
- профайлинг
- и т.п.
XDebug, в первую очередь, - хороший и легкий в установке профайлер, помогающий разработчику найти «узкие места» в коде, определить какие части вашего кода работают медленно: запросы к БД, подключение файлов, парсинг чего-либо и т.д.
Профайлинг (от англ. profiling) - оценка времени выполнения кода.
Пример профайл-лога для XDebug (версия 1):
На текущий момент существует две версии профайлера: XDebug и XDebug2. Отличаются они форматом профайл-лога и богатством настроек. Первая версия попроще, настроек мало, формат лога читабельный.
Пример профайл-лога для XDebug (версия 1):
Формат лога:
- Time Taken (время выполнения)
- Number of Calls (кол-во вызовов функции)
- Function Name (имя функции)
- Location (месторасположение с номером строки)
- Total Time (общее время выполнения)
Также существует 8 режимов профайлинга. Описывать не буду, можно посмотреть здесь. XDebug2 на мой взгляд более интересен, так как позволяет просматривать профайл-лог через специальные утилиты: WinCacheGrind (для Windows) и KCacheGrind (для Linux).
KCacheGrind - более мощная утилита, позволяет визуализировать результаты.
Все настройки профайлера можно разделить на несколько секций:
- основные настройки (GENERAL SETTINGS)
- настройки вывода (DISPLAY SETTINGS)
- настройки трэйсинга (TRACING SETTINGS)
- настройки удаленной отладки (REMOTE DEBUGGER SETTINGS)
- настройки профайлинга (PROFILER SETTINGS)
- настройки дампинга глобальных переменных (SUPERGLOBAL DUMPING SETTINGS)
PS: настоятельно советую всем прочитать интервью с Дериком Ретансом в журнале PHPArchitect (сентябрь, 2004) [pdf, 910Kb]
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии


оригинал здесь
оригинал здесь - http://habrahabr.ru/blogs/webdev/7354/