debug_backtrace
バックトレースを生成する
&reftitle.description;
arraydebug_backtrace
intoptionsDEBUG_BACKTRACE_PROVIDE_OBJECT
intlimit0
debug_backtrace は PHP バックトレースを生成します。
&reftitle.parameters;
options
このパラメータは次のオプションのビットマスクとなります。
debug_backtrace のオプション
DEBUG_BACKTRACE_PROVIDE_OBJECT
"object" インデックスを埋めるかどうか。
DEBUG_BACKTRACE_IGNORE_ARGS
"args" インデックス、
すなわちすべての関数/メソッドの引数を省略してメモリを節約するかどうか。
可能な組み合わせは以下の4つです:
debug_backtrace のオプション
debug_backtrace()
インデックスを両方収集します。
debug_backtrace(DEBUG_BACKTRACE_PROVIDE_OBJECT)
debug_backtrace(1)
debug_backtrace(0)
インデックス "object" を省略し、"args" を収集します。
debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS)
インデックス "object" と "args" を 両方省略します。
debug_backtrace(2)
debug_backtrace(DEBUG_BACKTRACE_PROVIDE_OBJECT|DEBUG_BACKTRACE_IGNORE_ARGS)
インデックス "object" を収集し、"args" を省略します。
debug_backtrace(3)
limit
このパラメータを使ってスタックフレームの数を制限できます。
デフォルト (limit=0) は、すべてのスタックフレームを返します。
&reftitle.returnvalues;
連想配列の配列を返します。連想配列の要素として返される可能性があるものは以下のとおりです。
debug_backtrace から返される可能性がある要素
&Name;
&Type;
&Description;
function
string
カレントの関数名。
__FUNCTION__
も参照ください。
line
int
カレントの行番号。
__LINE__
も参照ください。
file
string
カレントのファイル名。
__FILE__
も参照ください。
class
string
カレントのクラス名。
__CLASS__
も参照ください。
object
object
カレントのオブジェクト。
type
string
カレントのコール方式。メソッドを呼び出している場合は "->"、
staticメソッドを呼び出している場合は "::" が返されます。
関数呼び出しの場合は何も返されません。
args
array
関数の内部の場合、関数の引数のリストとなります。
インクルードされたファイル内では、
読み込まれたファイルの名前となります。
&reftitle.examples;
debug_backtrace の例
]]>
/tmp/b.php
を実行した際の結果は以下のようになります。
array(4) {
["file"] => string(10) "/tmp/a.php"
["line"] => int(10)
["function"] => string(6) "a_test"
["args"]=>
array(1) {
[0] => &string(6) "friend"
}
}
[1]=>
array(4) {
["file"] => string(10) "/tmp/b.php"
["line"] => int(2)
["args"] =>
array(1) {
[0] => string(10) "/tmp/a.php"
}
["function"] => string(12) "include_once"
}
}
]]>
&reftitle.seealso;
trigger_error
debug_print_backtrace