XDubg的配置与应用

XDUG调试器配置与应用

1.什么是xbug

xbug是一个开发源代码的php程序员调试器,可以用来跟踪,调试和分析Php程序的运行状况。

Xbug(free) ZendDebugger(need money)

2.下载Xbug组件:
到www.xdebug.org.com下载。下载相应的版本。
5.3 vc6

放置在任何位置。
在php.ini中载入xdbug组件。
zend_extension=绝对路径;
如:zend_extension_ts=D:wampinphpphp5.2.6extphp_xdebug-2.1.0-5.2-vc6.dll;

其实在Php5.2中zend_extension_ts

在5.2以上没有后缀_ts

3.[Xdebug]

;是否开启自动跟踪
xdebug.auto_trace = On
;是否开启异常跟踪
xdebug.show_exception_trace = On
;是否开启远程调试自动启动
xdebug.remote_autostart = On
;是否开启远程调试
xdebug.remote_enable = On
;允许调试的客户端IP
xdebug.remote_host=192.168.1.107
;远程调试的端口(默认9000)
xdebug.remote_port=9000
;调试插件dbgp
xdebug.remote_handler=dbgp
;是否收集变量
xdebug.collect_vars = On
;是否收集返回值
xdebug.collect_return = On
;是否收集参数
xdebug.collect_params = On
;跟踪输出路径
xdebug.trace_output_dir="c:xdebug"
;是否开启调试内容
xdebug.profiler_enable=On
;调试输出路径
xdebug.profiler_output_dir="c:xdebug"

测试代码:

<?php

phpinfo();

?>

测试时输入localhost/,php version 5.3.3最下面出现with xdebug,表示成功加载

2.1.0
============================================
XDUG错误分析与性能调试

Xdebug错误与性能分析:
function zw_fun(){
zw_fun();
} zw_fun();
这种嵌套循环是死循环,如果没有xdebug的话,那么会系统崩溃,xdebug最多给他循环100次,而一般情况下执行的时间和死循环的次数一般都有默认值。

<?php
function a(){
b();
}
function b(){
a();
}b();

?>
这样可以很清楚的看出嵌套中如何实现循环和循环规律。
***************
xdebug的内置函数应用:在php.ini中设置
xdebug.max_nesting_level 最大循环或调试次数,防止死循环。

xdebug扩展加载后,xdebug会对原有的某些php函数进行复写。
var_dump()函数
普通调试结果
array(2){["test"=>string(3)"abc""test2"=>string(3)"abd"]}
增加调试后:var_dump($arr);
结果显示为:
array
'test'=>string'abc'(length=3)
"test2"=>string('abd')(length=3)
增加颜色区分。

xDebug日志查看工具:winCacheGrind

调试信息需加入到php.ini文件中当中去。
xdebug.var_display_max_depth = 6
xdebug.dump_once = On
xdebug.dump_globals = On
xdebug.dump_undefined = On
xdebug.dump.SERVER = REQUEST_METHOD,REQUEST_URI,HTTP_USER_AGENT
xdebug.dump.REQUEST=*

  xdebug.show_exception_trace = On

  xdebug.show_local_vars = 1

这个还能告诉我,数据库的连接有哪些参数的配置有可能有问题

原文地址:https://www.cnblogs.com/smartyman/p/3797138.html