Уже полгода наталкивался на 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:
- Dev-PHP (IDE: Windows)
- Eclipse plugin, which has been submitted as an enhancement for the PDT (IDE).
- ActiveState's Komodo (IDE: Windows, Linux, Mac).
- Notepad++ plugin (IDE: Windows).
- WaterProof's PHPEdit (IDE, from version 2.10: Windows).
- Anchor System's Peggy (IDE: Windows, Japanese).
- Protoeditor (Editor: Linux).
- tsWebeditor (Editor: Windows).
- Xored's TrueStudio IDE (IDE).
- VIM plugin (Tutorial) (Editor Plugin).
- Maguma's WorkBench (IDE).
- XDebugClient - Standalone Windows client
Глянул туториал http://tech.blog.box.net/2007/06/20/how-to-debug-php-with-vim-and-xdebug-on-linux/
И все заработало - чудеса да и только :)
No comments:
Post a Comment