PHP debug_backtrace() 関数

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()関数を誘引したコードのデータを表示します。

連想配列の配列を返します。返される可能性のある要素は次の通りです:

名前 説明
function string カレントの関数名
line integer カレントの行番号
file string カレントのファイル名
class string カレントのクラス名
object object カレントのオブジェクト
type string カレントのコールタイプ。可能なコール:
  • Returns: "->"  - メソッド呼び出し
  • Returns: "::"  - 静的なメソッド呼び出し
  • Returns nothing - 関数呼び出し
args array 関数の内部の場合、関数の引数のリストとなります。インクルードされたファイル内では、読み込まれたファイルの名前となります。

構文

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: オプションのパラメータlimitが追加されました
PHP 5.3.6: パラメータprovide_objectoptionsに変更され、追加オプションDEBUG_BACKTRACE_IGNORE_ARGSが追加されました
PHP 5.2.5: オプションパラメータprovide_objectが追加されました
PHP 5.1.1: 現在のオブジェクトを返せるようになりました

PHP エラー・リファレンス