Какой лучший отладчик на PHP?

Привет, Хабр.
Пишем свой отладчик к фреймворку. Трейсер, деббагер, и т.д.

Хотим посмотреть образцы идеальных отладчиков в уже написанных фреймворков. Посоветуйте, где лучше всего поставлена отладка? Можно не только PHP. C++, Java пойдут, конечно же.
  • Вопрос задан
  • 20482 просмотра
Пригласить эксперта
Ответы на вопрос 5
Aco
@Aco
Заклинатель кода
1. xdebug + IDE = отличная пошаговая отладка
2. xdebug + profiler + (kcachegrind или wincachegrind) = анализ затыков в производительности
3. memtrack — поиск утечек памяти в кронах/демонах
4. DTrace + PHP = анализ «how it work» и каждого чиха скриптов
5. strace -p PID — анализ syscall-чихов скриптов.
6. APD — слабый конкурент xdebug, но имеет в себе возможности memtrack. Плохо интегрируется с IDE, однако имеет консольные интерфейсы (см. usage).
7. wireshark для анализа сетевого трафика, протоколов и т.д. (tcpdump + ssh pipe + wireshark = слежка за трафиком с боевого сервера)
8. можно взять runkit и заменять php функции на свои (или делать прокси) для анализа проходящих данных/генерации исключительных данных/блокировки изменения данных.
9. Централизированный syslog позволит вовремя реагировать на проблемы.

Конечно, часть не в тему, но меня уже не остановить!
Ответ написан
@Ents
ИМХО отладка — не функция фреймворка. Вы копаете не в ту сторону

Как вы собираетесь реализовать breakpoint для пхп методами пхп?
Ответ написан
eaa
@eaa
По опыту оказалось, что самое результативное — это тупо ведение логов. Грамотных логов. SQL — отдельно. Дампы входящих данных и дампы результатов. И при грубых ошибках — call stack. И все. Только так получалось отлавливать ошибки у заказчиков, когда у него что-то случилось, а обнаружил он это через неделю и поднял вопль — выход один — идем телнетком на его хост и начинаем читать логи. Много логов. Развлечение может быть не на один день/неделю, но в результате, восстановив все, что происходило на его машине, получаем место, где ошибка и что же реально произошло.

Что бы хотелось… наверно — чтоб можно было эти логи впихнуть в некую play-back машину и наглядно видеть, что происходило, а не читать портянки с букофками-циферками, а глядеть на красивые екранчики, где перед взором пробегает вереница меняющихся циферок конкретно интересующих переменных, флагов, вызовов методов и т.п., и это было бы красиво форматировано, чтоб можно было бы выключить и не видеть то, что не интересует в данный момент, смотреть все с нужным уровнем детализации.
Ответ написан
@rPman
xdebug?
phpshtorm например поддерживает
p.s. настроить на windows xdebug — будет проблемно, в готовом бинарном виде совместимые версии php и xdebug фиг найдешь, хотя я серьезно и не копал.
Ответ написан
Для ZF пользуемся вот этим: ZFDebug toolbar
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы