`
lfq618
  • 浏览: 85301 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

debug_backtrace函数

    博客分类:
  • php
阅读更多

简述

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

好,来复习一下。

one();

function one() {
    two();
}

function two() {
    three();
}

function three() {
    print_r( debug_backtrace() );
}

/*
输出:
Array
(
    [0] => Array
        (
            [file] => D:\apmserv\www\htdocs\test\debug\index.php
            [line] => 10
            [function] => three
            [args] => Array
                (
                )

        )

    [1] => Array
        (
            [file] => D:\apmserv\www\htdocs\test\debug\index.php
            [line] => 6
            [function] => two
            [args] => Array
                (
                )

        )

    [2] => Array
        (
            [file] => D:\apmserv\www\htdocs\test\debug\index.php
            [line] => 3
            [function] => one
            [args] => Array
                (
                )

        )

)
*/

 

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

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

分享到:
评论

相关推荐

    PHP中调试函数debug_backtrace的使用示例代码

    有时候我们想知道这个函数或方法的调用堆栈,也就是它是如何一级一级是被调用到的,可以用 PHP 的 debug_backtrace 函数打印,就像这样: 示例代码 public function update(Request $request, $id) { dd(debug_...

    PHP使用debug_backtrace方法跟踪调试代码调用详解

    主要介绍了PHP使用debug_backtrace方法跟踪调试代码调用,结合实例形式详细分析了debug_backtrace函数的功能、参数、使用方法及相关操作注意事项,需要的朋友可以参考下

    php中debug_backtrace、debug_print_backtrace和匿名函数用法实例

    本文实例讲述了php中debug_backtrace、debug_print_backtrace和匿名函数用法。分享给大家供大家参考。具体分析如下: ...一、debug_backtrace 它可以回溯跟踪函数的调用信息,可以说是一个调试利器,代码如下:

    php 调试利器debug_print_backtrace()

    debug_print_backtrace() 是一个很低调的函数,很少有人注意过它.不过当我对着一个对象调用另一个对象再调用其它的对象和文件中的一个函数出错时,它正在一边笑呢

    backtrace:更好的回溯

    要在PHP中获取回溯,可以使用debug_backtrace函数。 默认情况下,可能很难使用。 所报告的框架功能名称有偏斜:它属于前一框架。 同样,需要使用位掩码来传递选项。 与debug_backtrace相比,此包提供了一种更好的...

    php的debug相关函数用法示例

    本文实例讲述了php的debug相关函数... $d = debug_backtrace(DEBUG_BACKTRACE_PROVIDE_OBJECT, 1)[0]; $info = vsprintf($format, $args); $data = sprintf("%s %s,%d: %s\n", date("Ymd His"), $d["file"], $d["line

    PHP实现事件机制实例分析

    php有一个debug_backtrace函数,可以得到当前的调用栈,由此可以找到判断调用事件触发函数的对象是不是直接包含它的对象的办法。 <?php /** * 事件 * * @author xiezhenye */ class Event { pr

    基于PHP实现的事件机制实例分析

    php有一个debug_backtrace函数,可以得到当前的调用栈,由此可以找到判断调用事件触发函数的对象是不是直接包含它的对象的办法。 <?php /** * 事件 * * @author xiezhenye * @since 2007-7-20 */

    Artery AT32F407 移植cm-backtrace错误(Hardfaule)追踪库的示例工程

    工程中在函数 test_test 中制造了错误,不需要可以注释掉即可,cm_backtrace可以很方便的帮助自动诊断 断言、故障(Hard Fault, Memory Management Fault, Bus Fault, Usage Fault, Debug Fault)的入口地址,进而...

    PHP Error与Logging函数的深入理解

    PHP Error与Logging 简介error与logging 函数允许你对错误进行处理和记录。error 函数允许用户定义错误处理规则,并修改记录...函数 描述 PHPdebug_backtrace() 生成 backtrace。 4debug_print_backtrace() 输出 bac

    PHP堆栈调试操作简单示例

    如果知道了这些路径,我们就能很好的理解程序的执行过程,这是非常重要的,也是了解别人程序的基础,那么这里我就给大家介绍一种php中的堆栈调试的方法,其实就是php内置的一个函数debug_backtrace(); 下面是就稍微...

    PHP调试工具 Kint

    Kint是简单且强大的PHP debug调试工具,易用且无需安装的,强力的PHP调试助手,替代var_dump(),print_r(),debug_backtrace()这些函数。

    PHP调试助手kint.zip

    当调试PHP代码时,var_dump()、print_r()和debug_backtrace()是我们最常用的工具。Kint,一个开源软件,一个不需安装的替代者,它提供了更好的调试体验。它巧妙地检测几乎不可读的数据,并将它们定制成规则的输出...

    PHPLog php 程序调试追踪工具

    本文将为你介绍一个调试工具,它可以替代echo,print_r,var_dump等系统函数,还具有调用栈及参数追踪功能. 简言之,它是debug_backtrace的web版本.

Global site tag (gtag.js) - Google Analytics