时间:2021-07-01 10:21:17 帮助过:10人阅读
比如一个c项目,可以让其运行起来,然后利用gdb调试,一步步执行,搞清楚其执行过程,那么一个php项目,如何才能搞清楚执行过程呢,或者需要什么专业的工具
如果你想调试的话,可以使用zend studio 或者phpstrom 都是很好的工具
安装 xdebug
然后自己配置:
;
输出文件路径
xdebug.trace_output_dir="/tmp"
; 输出文件名
xdebug.trace_output_name=trace.%H.%t
; 记录添加到文件中方式:1 = 追加(如果存在该文件). 0 (default) = 覆盖(如果存在该文件)
xdebug.trace_options=0
; trace 数据格式
; 0 shows a human readable indented trace file
; 1 writes a computer readable format which has two different records
; 2 writes a trace formatted in (simple) HTML
xdebug.trace_format=0
; 显示数据
; 0 = 不显示.
; 1 = 参数类型,值 (例如:array(9)).
; 2 = 同上1,只是在CLI模式下略微有区别
; 3 = 所有变量内容(受到 xdebug.var_display_max_children,xdebug.var_display_max_data 和xdebug.var_display_max_depth限制)
; 4 = 所有变量内容和变量名(例如:array(0 => 9)).
xdebug.collect_params=0
; 是否收集函数返回值
xdebug.collect_return=0
; 关闭自动追踪,使用 XDEBUG_TRACE GET/POST 触发追踪, 或者通过设置cookie XDEBUG_TRACE
xdebug.auto_trace=0
xdebug.trace_enable_trigger=1
这样访问你的应用,带上特殊的参数就可以得到 trace 文件了,比如:you.app/?XDEBUG_TRACE
然后安装这个 vim 扩展https://github.com/xdebug/xdebug.org/blob/master/html/files/xt.vim
用 vim 打开 trace 文件,跟着执行流程往下看就行了。
xhprof
Zend Studio 就可以设断点来跟踪代码