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

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

WBOY
WBOYOriginal
2016-06-06 20:21:291497Durchsuche

比如一个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 就可以设断点来跟踪代码

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn