php代码Xdebug调试使用笔记

0x01 Xdebug简介

Xdebug是一个开放源代码的PHP程序调试器

 

运行流程:

 

 

 

0x02  Xdebug配置

日志
xdebug.trace_output_dir:
日志追踪输出目录
xdebug.trace_output_name
日志文件名,xdebug提供了一系列的标识符,生成相应格式的文件名
xdebug.trace_options
记录添加到文件中方式:1=追加(如果存在该文件).0(default)=覆盖(如果存在该文件)
显示数据
**xdebug.collect_params
非零值 = 控制function的参数显示选项
0--------不显示
1--------参数类型,值(例如:array(9)).
2--------同1,只是在CLI模式下略微有区别
3--------所有变量内容
4--------所有变量内容和变量名
xdebug.collect_return
1--------显示function返回值. Default 0 不显示
-xdebug.collect_vars
1--------显示当前作用域使用了哪些变量,显示变量名,该选项不会记录变量的值
**xdebug.collect_ assignments
1--------添加一行显示变量赋值

 

 

日志追踪输出目录
xdebug.trace_format
0-------------------人可读
1-------------------机器可读
2-------------------html格式

 

 

行为

追踪方式有两种,一种是自动追踪,所有php脚本运行时,都会产生trace文件;另一种是触发方式追踪

xdebug.auto_trace
1---------------打开自动追踪

xdebug.trace_enable_trigger
注:该特性只有在2.2+版本才能设置
1------------------使用XDEGUG_TRACE GET/POST触发追踪,或者通过设置cookie XDEGUG_TRACE,为了避免每次请求时,都会生成相应trace追踪文件,你需要把auto_trace设置为0

 

0x03 xdebug调试记录

在需要调试的行上打上断点(点击一下行号后面的空白处即可,再点一次取消断点),需要说明的是当程序运行到该断点时,程序会停留在该行,但该行本身不会执行。自此可以查看程序运行到此处时所包含的所有数据信息。当然,查看信息功能相当于使用php中的var_dump。

   

  操作流程:
  打断点—>点击‘虫子’—>点击浏览器页面触发断点—>自动跳转回PhpStorm—>查看携带的数据(调试的目的)—>可按步执行查找问题点—>点击运行(或者F5)—>浏览器页面继续执行—>调试完成。

 

快捷按钮:

 

第一个按钮:step over 步越
执行当前函数的下一步,如果有子函数,也不会进入,会一直执行到函数结束

第二个按钮:step into 步入
执行当前函数的下一步,如果有子函数,会从头到尾执行子函数,还原了程序执行的最详细的路线,从构造函数到结尾的每一步都会跳到。

第三个按钮:force step into
与step into 相同,执行当前函数的下一步,如果有子函数也会进入子函数,只不过不会从头到尾的还原函数执行的路线,会直接跳到子函数内第一步,构造函数等一些前置方法会忽略

第四个按钮:step out 步出
跳出当前执行的函数,跳到父函数的下一步。

第五个按钮:run to cursor 
执行到下一个断点处

Xdebug的其他作用

很明显,有了xdebug我们不再需要在代码调试时对一些关键变量一个一个echo或var_dump了,而且我们可以使程序运行到断点时挂起,从而更加精确地锁定出bug的代码的位置。同时Xdebug具有追溯代码的跟踪回溯功能,这样在一些大型的程序的中,即使调用逻辑很复杂,我们也能顺蔓摸瓜一步步到达错误发生的地方。

除此之外,我们可以使用xdebug_time_index()来显示脚本运行时间;可以使用xdebug_memory_usage()来测定脚本占用内存;同时我们还可以查询xdebug的输出日志来查询程序运行的相关信息。

Xdebug自带了一个函数xdebug_time_index()来显示时间。

 


 

 

转载于:https://www.cnblogs.com/-qing-/p/11259195.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值