PHP debug_backtrace() 函数

实例

生成 PHP backtrace:

  1. <?php
  2. function a($txt) {
  3. b("Glenn");
  4. }
  5. function b($txt) {
  6. c("Cleveland");
  7. }
  8. function c($txt) {
  9. var_dump(debug_backtrace());
  10. }
  11. a("Peter");
  12. ?>

以上代码的输出类似这样:

  1. Array (
  2. [0] => Array (
  3. [file] => C:\webfolder\test.php
  4. [line] => 6
  5. [function] => c
  6. [args] => Array (
  7. [0] => Cleveland
  8. )
  9. )
  10. [1] => Array (
  11. [file] => C:\webfolder\test.php
  12. [line] => 3
  13. [function] => b
  14. [args] => Array (
  15. [0] => Glenn
  16. )
  17. )
  18. [2] => Array (
  19. [file] => C:\webfolder\test.php
  20. [line] => 11
  21. [function] => a
  22. [args] => Array (
  23. [0] => Peter
  24. )
  25. )
  26. )

定义和用法

debug_backtrace() 函数生成 backtrace(回溯跟踪)。

该函数显示由 debug_backtrace() 函数代码生成的数据。

返回一个关联数组。可能返回的元素如下:

名称类型描述
functionstring当前函数名称
lineinteger当前行号
filestring当前文件名
classstring当前类名
objectobject当前对象
typestring

当前调用类型。可能的调用:

  • 返回: "->" - 方法调用
  • 返回: "::" - 静态方法调用
  • 返回 nothing - 函数调用
argsarray如果在函数中,列出函数参数。如果在被引用的文件中,列出被引用的文件名。

语法

  1. debug_backtrace(options,limit);
参数描述
options

可选。规定以下选项的位掩码:

  • DEBUG_BACKTRACE_PROVIDE_OBJECT (是否填充 "object" 的索引)
  • DEBUG_BACKTRACE_IGNORE_ARGS (是否忽略 "args" 的索引,包括所有的 function/method 的参数,能够节省内存开销。)
limit可选。限制返回堆栈帧的数量。默认为 (limit=0) ,返回所有的堆栈帧。

技术细节

返回值:None
PHP 版本:4.3+
PHP 更新日志

PHP 5.4:添加了可选的参数 limit

PHP 5.3.6:参数 provide_object 改成 options,并且增加了可选参数 DEBUG_BACKTRACE_IGNORE_ARGS。

PHP 5.2.5:添加了可选参数 provide_object

PHP 5.1.1:添加了当前的 object 为可能返回的元素。

分类导航