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

debug_backtrace函数

    博客分类:
  • php
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方法跟踪调试代码调用详解

    具体来说,debug_backtrace函数返回的是一个数组,每个元素都是一个关联数组,描述了一个调用堆栈的记录。通过分析这些记录,开发者可以了解当前执行点的上下文信息。函数有两个可选参数:options和limit。其中,...

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

    `debug_backtrace()` 函数是一个非常实用的工具,尤其对于查找代码中的调用链路和理解程序执行流程至关重要。这个函数可以提供当前执行点的回溯信息,帮助开发者追踪到函数或方法是如何被调用的,以及它们之间的关系...

    php 调试利器debug_print_backtrace()

    在classA的say方法中,使用了debug_print_backtrace()函数,当创建classC的实例并调用构造函数时,就会打印出从classC的构造函数开始,到classB再到classA的完整调用堆栈。 输出结果显示了调用堆栈的序号、函数调用...

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

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

    Linux例程之二_Debug_显示当前函数调用关系

    在示例代码中,我们首先定义了一个 xy_print_backtrace 函数,该函数使用 backtrace 函数获取当前进程的堆栈信息,并将其转换成字符串数组。然后,我们定义了两个级别的函数 xy_level1 和 xy_level2,這兩個函数之间...

    backtrace:更好的回溯

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

    PHP-Debug-Manual-public

    debug_print_backtrace函数能够打印程序的调用栈信息,这有助于开发者理解当前函数调用的上下文环境。 错误控制和日志记录部分讨论了PHP中关于错误处理的几个方面。包括错误选项控制、错误抛出和处理、使用错误抑制...

    php的debug相关函数用法示例

    debug_backtrace()函数可以接受一些可选参数,其中DEBUG_BACKTRACE_PROVIDE_OBJECT是一个常量,当它作为debug_backtrace()函数的参数时,将确保返回数组中的每个元素都包含调用该函数的对象。通常,当debug_...

    基于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实例开发源码—PHP企业网站管理系统标准版 v2.0.zip

    8. **错误日志与调试工具**:为了便于开发和维护,系统通常具备错误日志记录和调试工具,如PHP的error_reporting和debug_backtrace函数,方便开发者定位和修复问题。 9. **前端框架**:系统可能结合Bootstrap、...

    PHP实例开发源码—CareyShop PHP商城框架系统.zip

    为了方便问题排查,CareyShop可能内置了错误日志记录和调试工具,如PHP的error_reporting和debug_backtrace函数。 通过分析CareyShop PHP商城框架系统的源码,开发者不仅可以学习到PHP编程的实战技巧,还能了解到...

    php-backtrace

    2. **`debug_backtrace()`函数** `debug_backtrace()`是PHP内建的一个函数,用于生成当前执行过程中的回溯信息。它返回一个数组,其中每个元素代表一次函数调用,包含了调用者的信息,如函数名、文件名、行号等。...

    Linux应用程序调试之debug_coredump

    你可以使用`bt`(backtrace)命令查看调用堆栈,使用`info registers`查看寄存器状态,使用`list`查看源代码,使用`print`命令打印变量值等。这些信息对于定位问题至关重要。 #### 3. 示例分析 假设我们有如下的...

    PHP堆栈调试操作简单示例

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

Global site tag (gtag.js) - Google Analytics