debug_backtrace() 函数生成 backtrace(回溯跟踪)。
该函数显示由 debug_backtrace() 函数代码生成的数据。
返回一个关联数组。可能返回的元素如下:
返回一个关联数组。可能返回的元素如下:
名称
类型
描述
function
string
当前函数名称
line
integer
当前行号
file
string
当前文件名
class
string
当前类名
object
object
当前对象
type
string
当前调用类型。可能的调用:
返回: "->" - 方法调用
返回: "::" - 静态方法调用
返回 nothing - 函数调用
args
array
如果在函数中,列出函数参数。如果在被引用的文件中,列出被引用的文件名。
语法
debug_backtrace(options,limit);
options
可选。规定以下选项的位掩码:
•DEBUG_BACKTRACE_PROVIDE_OBJECT (是否填充 "object" 的索引)
•DEBUG_BACKTRACE_IGNORE_ARGS (是否忽略 "args" 的索引,包括所有的 function/method 的参数,能够节省内存开销。)
limit
可选。限制返回堆栈帧的数量。默认为 (limit=0) ,返回所有的堆栈帧。
示例一:
function a($txt) {
b("Glenn");
}
function b($txt) {
c("Cleveland");
}
function c($txt) {
var_dump(debug_backtrace());
}
a("Peter");
// array (size=3)
// 0 =>
// array (size=4)
// 'file' => string 'F:\wamp\www\php20190214\index.php' (length=33)
// 'line' => int 6
// 'function' => string 'c' (length=1)
// 'args' =>
// array (size=1)
// 0 => &string 'Cleveland' (length=9)
// 1 =>
// array (size=4)
// 'file' => string 'F:\wamp\www\php20190214\index.php' (length=33)
// 'line' => int 3
// 'function' => string 'b' (length=1)
// 'args' =>
// array (size=1)
// 0 => &string 'Glenn' (length=5)
// 2 =>
// array (size=4)
// 'file' => string 'F:\wamp\www\php20190214\index.php' (length=33)
// 'line' => int 11
// 'function' => string 'a' (length=1)
// 'args' =>
// array (size=1)
// 0 => &string 'Peter' (length=5)
?>
示例二:
function demo($str) {
echo "正在学习:" . $str . "
";
var_dump(debug_backtrace());
}
demo('php');
// 正在学习:php
// array (size=1)
// 0 =>
// array (size=4)
// 'file' => string 'F:\wamp\www\php20190214\index.php' (length=33)
// 'line' => int 6
// 'function' => string 'demo' (length=4)
// 'args' =>
// array (size=1)
// 0 => &string 'php' (length=3)
?>