使用Xdebug调试和优化PHP程序
来源:互联网 发布:淘宝达人跟达人一起淘 编辑:程序博客网 时间:2024/05/21 06:46
现在我们就可以开始使用Xdebug强大的功能了!
作者:Haohappy
MSN: haohappy at msn.com
Blog: http://blog.csdn.net/haohappy2004
2006-07-04
Go on..现在我们来从最简单的程序调试开始一步步介绍Xdebug。
调试:
我们先写一个可以导致执行出错的程序,例如尝试包含一个不存在的文件。
testXdebug.php
<?php
require_once(‘abc.php’);
?>
然后通过浏览器访问,我们惊奇地发现,出错信息变成了彩色的了:
不过除了样式改变,和我们平时打印的出错信息内容没什么不同,意义不大。好,我们继续改写程序:
testXdebug2.php
<?php
testXdebug();
function testXdebug() {
require_once('abc.php');
}
?>
输出信息:
发现了什么? Xdebug跟踪代码的执行,找到了出错的函数testXdebug()。
我们把代码再写得复杂一些:
testXdebug3.php
<?php
testXdebug();
function testXdebug() {
requireFile();
}
function requireFile() {
require_once('abc.php');
}
?>
输出信息:
呵呵,也就是说Xdebug具有类似于Java的Exception的“跟踪回溯”的功能,可以根据程序的执行一步步跟踪到出错的具体位置,哪怕程序中的调用很复杂,我们也可以通过这个功能来理清代码关系,迅速定位,快速排错。
<?php
/**
* Simple function to replicate PHP 5 behaviour
*/
function
microtime
_float
()
{
list(
$usec
,
$sec
) =
explode
(
" "
,
microtime
());
return ((float)
$usec
+ (float)
$sec
);
}
$time_start
=
microtime
_float
();
// Sleep for a while
usleep
(
100
);
$time_end
=
microtime
_float
();
$time
=
$time_end
-
$time_start
;
echo
"Did nothing in $time seconds
/n
"
;
?>
但是
microtime()
返回的值是微秒数及绝对时间戳(例如“0.03520000 1153122275”),没有可读性。所以如上程序,我们需要另外写一个函数microtime_float()
,来将两者相加。
Xdebug
自带了一个函数
xdebug_time_index()
来显示时间。
- 使用Xdebug调试和优化PHP程序
- 使用Xdebug调试和优化PHP程序
- 使用Xdebug调试和优化PHP程序
- 使用Xdebug调试和优化PHP程序
- 使用Xdebug调试和优化PHP程序[1]
- 使用Xdebug调试和优化PHP程序[2]
- 使用Xdebug调试和优化PHP程序[3]
- 使用Xdebug调试和优化PHP程序[3]
- 使用Xdebug调试和优化PHP程序[2]
- 使用Xdebug调试和优化PHP程序[1]
- 使用Xdebug调试和优化PHP程序[3]
- 使用Xdebug调试和优化PHP程序[2]
- 使用Xdebug调试和优化PHP程序[1]
- 使用Xdebug调试和优化PHP程序[3]
- 使用Xdebug调试和优化PHP程序[2]
- 使用Xdebug调试和优化PHP程序[1]
- 使用Xdebug调试和优化PHP程序[3]
- 使用Xdebug调试和优化PHP程序[2]
- 0049算法笔记——【随机化算法】蒙特卡罗算法,主元素问题,素数测试问题
- 0050算法笔记——【线性规划】单纯形算法(未完全实现)
- java 配置文件 web.xml基础
- Unity 事件2
- Swing之JTextField中添加图片
- 使用Xdebug调试和优化PHP程序
- poj 1986 Distance Queries
- 直接拿来用!最火的Android开源项目
- ios跳转到通用页面
- windows编译文件参数含义
- Linux 下如何使用CMakel
- 南京IT公司总结
- mysql on duplicate key update 的使用
- 常用查询语句