调试利器 :PHP debug_backtrace

http://my.oschina.net/u/867608/blog/129125#OSC_h1_2


简述

可能大家都知道,php中有一个函数叫debug_backtrace,它可以回溯跟踪函数的调用信息,可以说是一个调试利器。

好,来复习一下。

01 one();
02  
03 function one() {
04     two();
05 }
06  
07 function two() {
08     three();
09 }
10  
11 function three() {
12     print_r( debug_backtrace() );
13 }
14  
15 /*
16 输出:
17 Array
18 (
19     [0] => Array
20         (
21             [file] => D:\apmserv\www\htdocs\test\debug\index.php
22             [line] => 10
23             [function] => three
24             [args] => Array
25                 (
26                 )
27  
28         )
29  
30     [1] => Array
31         (
32             [file] => D:\apmserv\www\htdocs\test\debug\index.php
33             [line] => 6
34             [function] => two
35             [args] => Array
36                 (
37                 )
38  
39         )
40  
41     [2] => Array
42         (
43             [file] => D:\apmserv\www\htdocs\test\debug\index.php
44             [line] => 3
45             [function] => one
46             [args] => Array
47                 (
48                 )
49  
50         )
51  
52 )
53 */


顺便提一下类似的函数:debug_print_backtrace,与之不同的是它会直接打印回溯信息。

回来看debug_backtrace,从名字来看用途很明确,是让开发者用来调试的。直到有一天我注意到它返回的file参数,file表示函数或者方法的调用脚本来源(在哪个脚本文件使用的)。忽然我想到,如果当前脚本知道调用来源,那是否可以根据这个来源的不同,来实现一些有趣的功能,比如文件权限管理、动态加载等。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值