Хотелось бы знать кто из продвинутых какой выбрал и почему.
Использую в основном «echo-дебаг». Для профилирования — xhprof, реже — xdebug (его на продакшн не поставишь, снижает скорость PHP почти на порядок даже когда выключен, только одним подключением .so)
Баловался с пошаговым исполнением в xdebug+Eclipse, но на практике на такую отладку уходит больше времени, чем на echo-debug. Поэтому забил.
если хоть одно ide поддерживает Quercus то можно поробовать его заюзать, хотя это и изврат
Это не просто изврат. Это изврат в квадрате. Всё равно что PHP-скрипт на обычном PHP отлаживать через отладчик для Си :)
Нет, если реально припрёт и потребуется пошаговая отладка, то xdebug + eclipse (или другой редактор с поддержкой PHP и пошаговой отладкой по dbg-протоколу — их вагон, начиная от vim) — это нормально. Но реально телодвижений приходится делать намного больше, чем при echo-отладке. Пошаговая отладка может быть незаменима только при совсем кривой архитектуре приложения. На PHP у меня таких сейчас нет :) Вот когда на Java работал со сторонним проектом — там из Eclipse не вылезал... А у себя и на Си++ я чаще пользовался printf-отладкой, чем полноценным отладчиком как только время компиляции и запуска стало меньше запуска отладчика и перехода к нужному окружению (где-то во времена 80486-х).
Напиши нормальную функцию, чтобы не заморачиваться обёртками. У меня, например, сейчас это будет: bors_debug::syslog('error', $qwe);. Соответственно, логгирование можно централизованно, не перепахивая код, переводить в нужный каталог, менять глубину и степень трассировки (пишется и трейс вызова, и системные переменные, переменные вызова, идентификатор пользователя и т.п.), переключать часть вызовов, скажем, на HipChat вместо файлов, чтобы индицировать о чём-то критическом удалённо и т.д. В принципе, сейчас родили вообще PSR-стандарт на PHP-логгинг, но всё руки не доходят переписать, моя система куда древнее :)