PHP debug_backtrace() 函數

實例

生成 PHP backtrace:

<?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() 函數生成 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) ,返回所有的堆棧幀。

技術細節

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