最新的Web开发教程
 

PHP debug_backtrace() Function

<PHP误差基准

生成一个PHP回溯:

<?php
function a($txt) {
    b("Glenn");
}
function b($txt) {
    c("Cleveland");
}
function c($txt) {
    var_dump(debug_backtrace());
}
a("Peter");
?>

上面的代码将输出是这样的:

Array (
    [0] => Array (
        [file] => C:\webfolder\test.php
        [line] => 6
        [function] => c
        [args] => Array (
            [0] => Cleveland
        )
    )
    [1] => Array (
        [file] => C:\webfolder\test.php
        [line] => 3
        [function] => b
        [args] => Array (
            [0] => Glenn
        )
    )
    [2] => Array (
        [file] => C:\webfolder\test.php
        [line] => 11
        [function] => a
        [args] => Array (
            [0] => Peter
        )
    )
)


定义和用法

所述debug_backtrace()函数生成一个PHP回溯。

这个函数从导致到代码显示数据debug_backtrace()函数。

返回关联数组的数组。 可能返回的元素是:

名称 类型 描述
functionstring 当前的函数名
lineinteger 当前行号
filestring 当前文件名
classstring 当前的类名
objectobject 当前对象
typestring 当前的呼叫类型。 可能的呼叫:
  • 返回: “ - >” - 方法调用
  • 返回:“::” - 静态方法调用
  • 返回什么 - 函数调用
argsarray 如果一个函数里面,它列出了函数的参数。 如果一个包含文件中,它列出了包含文件名

句法

debug_backtrace( options , limit ) ;

参数 描述
options

可选的。 指定以下选项的位掩码:
DEBUG_BACKTRACE_PROVIDE_OBJECT(无论是否填充"object"指数
DEBUG_BACKTRACE_IGNORE_ARGS(不论是否省略"args"索引,并且所有的功能/方法参数,以节省存储器)

limit 可选的。 限制打印的纸叠的帧的数量。 默认情况下(limit=0)将打印所有堆栈帧

技术细节

返回值: 没有
PHP版本: 4.3+
PHP更新日志: PHP 5.4:添加可选参数限制
PHP 5.3.6:参数provide_object改为选项和附加选项DEBUG_BACKTRACE_IGNORE_ARGS添加
PHP 5.2.5:添加可选参数provide_object
PHP 5.1.1:增加当前对象可能返回元素

<PHP误差基准