首页 > 技术文章 > xdebug安装及使用小结

taijun 2015-01-05 17:06 原文

最近安装了一下xedug,并且学习了一下如何使用。安装xdebug的初衷是为了深入研究一下PHP的垃圾回收机制。

Xdebug是一个开放源代码的PHP程序调试器(即一个Debug工具),可以用来跟踪,调试和分析PHP程序的运行状况。

先说一下安装吧。我使用的php版本是5.3.3,windows 32 为环境。

 

先从http://www.xdebug.org/files/php_xdebug-2.1.0-5.3-vc6.dll 下载了拓展文件

放入php的ext目录下。

接着改写了php.ini

[Xdebug] 
zend_extension="E:/wamp/bin\php/php5.3.3/ext/php_xdebug-2.1.0-5.3-vc6.dll"
xdebug.auto_trace=on 
xdebug.collect_params=on 
xdebug.collect_return=on 
xdebug.trace_output_dir="E:/wamp/webserver/php5/debuginfo"
xdebug.profiler_enable=on 
xdebug.profiler_output_dir="E:/wamp/webserver/php5/debuginfo"

  保存配置,重启,在phpinfo中看到拓展安装成功。

 linux下安装http://blog.csdn.net/rainysia/article/details/6780470

xdebug的学习

Xdebug是一个开放源代码的PHP程序调试器(即一个Debug工具),可以用来跟踪,调试和分析PHP程序的运行状况。

安装xdebug之后,出错显示可以快速定位到那一块

xdebug_debug_zval()//参数为变量名称,返回zval容器

xdebug_time_index() //返回运行至此处的时间,无参数

 

有时候我们的程序没有错误,但是并不是完美的。xdebug还可以将运行过程中的一些信息写入指定的目录,便于我们分析。在优化php代码执行效率的过程中,有个好办法是利用XDebug或XHProf生成Profile文件,然后查看Profile文件分析整个程序的瓶颈在哪里。如果用XDebug生成Profile文件。有专门查看profile的工具,如webgrind

Xdebug提供了各种自带的函数,并对已有的某些PHP函数进行覆写,可以方便地用于调试排错;Xdebug还可以跟踪程序的运行,通过对日志文件的分析,我们可以迅速找到程序运行的瓶颈所在,提高程序效率,从而提高整个系统的性能。

 

<?php 
echo xdebug_peak_memory_usage();//程序运行期间的内存峰值
echo PHP_EOL;
echo xdebug_time_index();//时间,比microtime方便,单位是秒
echo PHP_EOL;
function testOne(){
	echo 'one';
	echo PHP_EOL;
}
function testTwo(){
	echo 'two';
	echo PHP_EOL;
}

function testThree(){
	echo 'three';
	echo PHP_EOL;
}
echo memory_get_usage();//php自身提供的函数,运行至此占用的空间,单位byte
echo PHP_EOL;
echo xdebug_memory_usage();//xdebug提供的,运行至此占用的内存空间,单位是byte
echo PHP_EOL;
testOne();
testTwo();
testThree();
//上面哪一个函数运行中发生错误,错误显示会定位到

echo xdebug_peak_memory_usage();//程序运行期间的内存峰值,与其在脚本中的位置无关


?>

  

 

 

 

 

 

 

推荐阅读