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() 函数代码生成的数据。

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

名称 类型 描述
function string 当前函数名称
line integer 当前行号
file string 当前文件名
class string 当前类名
object object 当前对象
type string 当前调用类型。可能的调用:
  • 返回: "->" - 方法调用
  • 返回: "::" - 静态方法调用
  • 返回 nothing - 函数调用
  • args array 如果在函数中,列出函数参数。如果在被引用的文件中,列出被引用的文件名。

    语法

    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 为可能返回的元素。