PHP程序调试器Xdebug的安装及应用

发布时间:2011年04月29日      浏览次数:814 次
一、什么是Xdebug

Xdebug是一个开放源代码的PHP程序调试器,可以用来跟踪、调试和分析PHP程序的运行状况。Xdebug现在的最新版本是Xdebug 2.1.0

二、如何安装Xdebug?

下面以Windows平台下PHP5.3.2为例说明安装过程:

第一步:下载php_xdebug-2.1.0-5.3-vc6.dll(下载地址:http://www.xdebug.org/files/php_xdebug-2.1.0-5.3-vc6.dll)。

第二步:将下载的文件重命名为php_xdebug.dll,并copy到php的ext目录下。

第三步:在C盘创建一个目录xdebug,然后修改PHP的配置文件(php.ini),在末尾加上:

extension=php_xdebug.dll
[Xdebug]
xdebug.profiler_enable=on
xdebug.trace_output_dir="c:/xdebug"
xdebug.profiler_output_dir="c:/xdebug"

第四步:重启Apache

第五步:创建一个test.php,内容为<?php phpinfo();?>,在输出的内容中如果看到xdebug,说明安装成功。

三、Xdebug应用

1.代码执行时间

test_xdebug_1.php

<?php
//查看代码执行时间
echo xdebug_time_index().'<br>';
function test(){
$sum = 0;
for($i=0;$i<100000;$i++){
$sum += $i;
}
return $sum;
}
echo test().'<br>';
echo xdebug_time_index().'<br>';
?>

输出结果:

0.0014331340789795
4999950000
0.038825035095215


说明:表示这段代码执行了0.038825035095215秒(本机,每次执行时间不一样)。


2.上下文信息收集

test_xdebug_2.php

<?php
//上下文信息收集
function sub($a,$b){
echo xdebug_call_line().':';
echo xdebug_call_function().'.';
return $a-$b;
}

function do_sub($a,$b){
sub($a,$b);//sub函数是在do_sub函数中被调用,调用的行号是10
}

echo do_sub(100,50).'<br>';
?>

输出结果:10:do_sub.

说明:表示sub函数是在do_sub函数中被调用,调用的行号是10

3.代码覆盖范围

test_xdebug_3.php

<?php
//代码覆盖范围
$a=100; $b=200; $c=500;

xdebug_start_code_coverage();

if($a>$b){//step 1
echo '$a>$b';
}else{
if($a>$c){//step 2
echo '$a>$c';
}else{
echo '$a(100)<$c(500)';//step 3
}
}

echo '<pre>';
print_r(xdebug_get_code_coverage());
echo '</pre>';
?>

输出结果:

$a(100)<$c(500)
Array
(
[E:\EasyPHP\www\test\test_xdebug_3.php] => Array
(
[7] => 1
[10] => 1
[13] => 1
[17] => 1
[18] => 1
)

)

说明:此输出结果表示执行的行号依次为7,10,13,17,18,在逻辑比较复杂的程序中,可以采用此方法分析程序的“走向”。

代码下载: http://www.xiaojunbin.com/download/xdebug_test.rar
免责声明:本站相关技术文章信息部分来自网络,目的主要是传播更多信息,如果您认为本站的某些信息侵犯了您的版权,请与我们联系,我们会即时妥善的处理,谢谢合作!