Showing posts with label xdebug. Show all posts
Showing posts with label xdebug. Show all posts

Thursday, September 6, 2007

php xdebug extension

Пока настраивается сервер, выдалась свободная минута.
Уже полгода наталкивался на php extension xdebug.
http://xdebug.org/
Сначала использовал только tracer, причем у меня отрабатывала только функция xdebug_start_trace() но более ничего не делалось. Обнаружил что она возвращает имя файла куда кладется trace, собственно и начал использовать
$tracer = xdebug_start_trace();
echo '<pre>';
echo file_get_contents($tracer);
Получается примерно следующее.
.0042 94560 -> require_once(file.php) /path/index.php:44
0.0043 95984 -> require_once(file2.php) /path/file.php:16
0.0044 95808 -> ClassName->__construct() /path/index.php:45

Где первая строчка время, вторая память, далее метод(функция) путь, строка.

Затем понадобился профайлер, ранее использовал zend_platform но trial закончился.
Смотрим тот же xdebug
http://www.xdebug.org/docs/profiler
Настраиваем php.ini
sudo apt-get install kcachegrind
И все работает!.

После этого я всерьез заинтересовался xdebug и захотелось собственно сам отладчик
http://www.xdebug.org/docs/remote
Поддерживаются ide:
Так как Zend Studio дорогой для меня продукт, я начал переходить на vim, соотвественно заинтеросовала возможность интеграции отладчика в него.
Глянул туториал http://tech.blog.box.net/2007/06/20/how-to-debug-php-with-vim-and-xdebug-on-linux/
И все заработало - чудеса да и только :)
 
Каталог сайтов, Добавить сайт