xdebug的安装
Q:xdebug是什么?
A:xdebug是一个开源的php调试器,以php模块的形式加载并被使用。
上周发现xdebug出了RC(release candidate)2版了,就拿下来安装了一下,顺便写了一个安装手册,希望对大家有用。
xdebug模块和相关工具的安装:
ps:一些配置的英文翻译可能不准确
一、安装xdebug模块
1、去www.xdebug.org下载相应版本php的模块文件,保存下载后的文件到php的ext目录,可以自己修改文件的名称,如保存成:xdebug-2.0.0RC1.dll
2、修改php.ini,增加如下信息
[Xdebug]
zend_extension_ts=”c:/php5/ext/xdebug-2.0.0RC1.dll”
xdebug.auto_trace=on
xdebug.collect_params=on
xdebug.collect_return=on
xdebug.trace_output_dir=”c:\Temp\xdebug”
xdebug.profiler_enable=on
xdebug.profiler_output_dir=”c:\Temp\xdebug”
参数解释:
zend_extension_ts=”c:/php5/ext/xdebug-2.0.0RC1.dll”
;加载xdebug模块。这里不能用extension=xdebug-2.0.0RC1.dll的方式加载,必须要以zend的方式加载,否则安装上后,phpinfo打印出来的里的xdebug段的会有Must LOADED AS ZEND EXTENSION的警告信息(原因未知)。
xdebug.auto_trace=on;
;自动打开“监测函数调用过程”的功模。该功能可以在你指定的目录中将函数调用的监测信息以文件的形式输出。此配置项的默认值为off。
xdebug.collect_params=on;
;打开收集“函数参数”的功能。将函数调用的参数值列入函数过程调用的监测信息中。此配置项的默认值为off。
xdebug.collect_return=on
;打开收集“函数返回值”的功能。将函数的返回值列入函数过程调用的监测信息中。此配置项的默认值为off。
xdebug.trace_output_dir=”c:\Temp\xdebug”
;设定函数调用监测信息的输出文件的路径。
xdebug.profiler_enable=on
;打开效能监测器。
xdebug.profiler_output_dir=”c:\Temp\xdebug”;
;设定效能监测信息输出文件的路径。
还有一些更为具体的参数设定,详见:http://www.xdebug.org/docs-settings.php
3、重启apache
这样,在本地运行php的时候,会在所设定的目录里产生一些调试信息的文件:
- 函数调用过程监测信息文件的文件名格式:trace.××××××.xt。这个文件可以直接查看,里面包含了函数运行的时间,函数调用的参数值,返回值,所在的文件和位置等信息。内容格式还是相对直观的。
- 效能监测文件的文件名格式:cachegrind.out.××××××××。
这个文件也可以直接查看,不过信息格式不易被人类所理解,
所以我们需要接下来的一个软件。
二、安装wincachegrind
由于效能监测文件:cachegrind.out.××××××××文件的内容不易被人类所理解,所以我们需要一个工具来读取它。windows下就有一款这样的软件:wincachegrind。
1、到http://sourceforge.net/projects/wincachegrind/下载安装wincachegrind
2、安装运行后,点击Tools->options,设定你的working folder(php.ini里xdebug.profiler_output_dir的值)
这样就可以比较直观的查看效能监测文件的信息了。
另:不知道是哪个参数没有设定正确,我机器上所有的php的运行后的函数调用过程监测信息都写到了一个trace.××××××.xt中,哪个达人要是知道就给指条明路吧。
xLight:
据我所知,xdebug是跟据入口程序文件生成不同的记录文件,如果你所有调用都是从同一个index.php添加不同参数调用,那么。。。
29 10月 2006, 11:23 pm星星亮了:
鲤鱼汤:money:
1 11月 2006, 7:27 pmleeyupeng:
to xlight:关键就是我运行什么程序都往一个里面写,不一样的域名,不一样的页
2 11月 2006, 10:11 pmHick:
这个我要支持,嘿嘿,一直没感觉这些调试器有什么用…

8 11月 2006, 8:46 pm大概我写的程序不需要调试了。。。。
匿名:
:hard::down::zk::faint::mrgreen::money::vacuity::emtf::emtf::evil::cry::redface::smile::grin::sad::surprised::twisted::roll::down::wink::!::!::cool::?::lol::sweat::love::idea::arrow:
19 04月 2007, 1:12 pm野马:
Hick 够拽啊,没写过大程序的当然不需要调试工具了,几个print_r就能搞定。
8 10月 2007, 5:16 pm非主流童话:
前几天让opts装xdebug,貌似和zend server的调试器冲突
10 10月 2007, 10:01 pmxLight:
看到非主流的回复,又来回顾了一次这个帖子,
正好今天看了看xdebug的文档,发现如何控制输出CacheGrind文件名的控制
http://xdebug.org/docs/all_settings#trace_output_name
觉得以下两个比较有用
11 10月 2007, 9:49 am%s script name
%R $_SERVER['REQUEST_URI']
lee:
good~~~~
11 10月 2007, 3:47 pm梦里春秋:
用Xdebug调试PHP程序…
什么是Xdebug?
25 07月 2008, 9:50 pmXdebug是一个PHP的扩展用于调试PHP程序,用于调试PHP,可以提供很多有用的调试信息,比如:。
1.Xdebug的安装
首先假设我们的开发平台是windows XP上面已经安装好了Apache、PHP(点击……
php xdebug的安装 | 荷包蛋博客:
[...] : http://xdebug.org/docs/install http://www.leeyupeng.com/?p=325 [...]
13 11月 2008, 9:56 am