>백엔드 개발 >PHP 튜토리얼 >有一个php项目源码,如何搞清楚执行过程?画出其流程图

有一个php项目源码,如何搞清楚执行过程?画出其流程图

WBOY
WBOY원래의
2016-06-06 20:21:291521검색

比如一个c项目,可以让其运行起来,然后利用gdb调试,一步步执行,搞清楚其执行过程,那么一个php项目,如何才能搞清楚执行过程呢,或者需要什么专业的工具

回复内容:

比如一个c项目,可以让其运行起来,然后利用gdb调试,一步步执行,搞清楚其执行过程,那么一个php项目,如何才能搞清楚执行过程呢,或者需要什么专业的工具

如果你想调试的话,可以使用zend studio 或者phpstrom 都是很好的工具

安装 xdebug

然后自己配置:

<code>; 输出文件路径
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</code>

这样访问你的应用,带上特殊的参数就可以得到 trace 文件了,比如:you.app/?XDEBUG_TRACE

然后安装这个 vim 扩展https://github.com/xdebug/xdebug.org/blob/master/html/files/xt.vim

用 vim 打开 trace 文件,跟着执行流程往下看就行了。

xhprof

Zend Studio 就可以设断点来跟踪代码

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.