Профилирование кода позволяет выявить медленные участки в коде, что позволит в случае необходимости устранить их.
Новый PHP профайлер XHprof от компании Facebook – это альтернатива Xdebug (PHP профайлер Xdebug). XHprof был разработан специально для Facebook и начиная с март 2009 года его исходный код стал доступен для скачивания.
Читать дальше
При разработке приложения на Symfony бывают ситуации, когда на странице получаем «белый экран» без описания ошибок, и в логах тоже пусто. Это так называемые «фатальные ошибки», которые можно отловить, но для этого надо задействовать перехватчик ошибок.
Без плагинов можно сделать следующее.
Способ №1: используем перехватчик ошибок
Листинг 1: Добавляем в файлы index.php и frontend_dev.php
error_reporting(E_ALL);
ini_set('log_errors', 'On');
ini_set('display_errors', 'Off');
ini_set('error_log', '../logs/fatal_server.log');
Способ №2: воспользоваться плагинами Symfony
• sfErrorHandlerPlugin
Приложения для тестирования, отладки, анализа HTTP трафика и запросов в Internet Explorer. По другому их ещё называют HTTP Sniffers. Они позволяют просматривать HTTP headers, все запросы, Cookies, статистику, время выполнения запросов
1. HttpWatch 5.3
Платное решение
Поддержка: IE6, IE7
Возможности
Описание: лучший отладчик в своем роде
2. HTTP Analyzer 3.3.1 (IE Inspector)
Платное решение
Возможности: Monitor HTTP, Trace HTTP, Debug HTTP, Capture HTTP, Track HTTP and Analyze HTTP/HTTPS!
Впечатление: тоже очень хороший отладчик
3. ieHTTPHeaders
Бесплатное решение
Версия: 2.0 (2007-11-11)
4. IEWatch 4.6
Платное решение
5. fiddler2
Бесплатное решение
Версия: 2.1.6.2 (2008-03-05)
Отладка скрипта в IE без использования дополнительных утилит невозможна. Т.е. в базовой поставке Interner Explorer тестировать сценарии не получиться. Ниже приводятся решения в виде расширений (extension ) для IE, так и в виде обычных Javascript файлов.
Читать дальше…
Есть такой замечательный отладчик/профайлер Xdebug. Как для Windows так и для никсов.
Сайт разработчика: xdebug.org.
Что это такое это? Это расширение для PHP, которое работает как debugger и profiler. В настройках можно указать, что использовать, а что нет, можно все включить. Очень важные параметр xdebug.profiler_output_name, если его оставить по умолчанию, тогда вся отладочная информация будет записываться в один файл, а это бывает плохо, т.к. грузиться, например, страница, а с ней запускается 3- и больше файлов PHP: сама страница, Ajax, CSS, локализация. И в итоге в отладке будет последний файл. А так с помощью маски получаем уникальные файлы. В данном случае в таком виде: cachegrind.out.1208803760.D_home_demo-site_htdocs_sf_sandbox_web_index_php. В общем на офф. сайте можно найти подробнейшую помощь по Xdebug.
Подключение его в php.ini:
[Xdebug]
zend_extension_ts="php_xdebug-2.0.3-5.2.5.dll"
xdebug.default_enable = Off
xdebug.profiler_enable = Off ;Off
xdebug.profiler_output_dir = "/tmp/xdebug/cachegrid"
xdebug.profiler_append = On
xdebug.profiler_output_name = "cachegrind.out.%t.%s"
xdebug.auto_trace = Off
xdebug.trace_format = 0
xdebug.collect_params = 1
xdebug.collect_return = 1
xdebug.collect_includes = 1
xdebug.trace_options = 1
xdebug.trace_output_dir = "/tmp/xdebug/trace"
Программы для просмотра логов profiler:
- KCacheGrind – не юзал.
- WinCacheGrind – софтина под Винду, старая, апреля 2005 года. На её данные особо опираться не следует, т.к. информация относительная. Но общую картину дать может. Сам пользуюсь. Несколько раз показала интересные вещи, плюс помогла найти баги.
- CachegrindVisualizer – с офф. сайта. Это кроссплатформенная программа для визуализации файлов в формате Callgrind, в частности, его подмножества используемого Cachegrind. Профайлер Xdebug является совместимым с Cachegrind.
- Webgrind – Xdebug profiling c web frontend на PHP5. Все просто скопировал файлы, конфиг прочитался автоматом из настроек php.ini. Стоит только выбрать файл, и результат на экран. Минус – все написано на ПХП и если файл профайлера огромный, то будут тормоза.
- XDebugClient – это клиент для дебаггера, прослушает его и отображает у себя в консоли, только под Windows, не проверял.
Что можно почитать:
Комментарии (5)