debug_backtrace
バックトレースを生成する
&reftitle.description;
arraydebug_backtrace
intoptionsDEBUG_BACKTRACE_PROVIDE_OBJECT
intlimit0
debug_backtrace は PHP バックトレースを生成します。
&reftitle.parameters;
options
PHP 5.3.6 以降、このパラメータは次のオプションのビットマスクとなります。
debug_backtrace のオプション
DEBUG_BACKTRACE_PROVIDE_OBJECT
"object" インデックスを埋めるかどうか。
DEBUG_BACKTRACE_IGNORE_ARGS
"args" インデックスを無視してすべての関数/メソッドの引数をメモリに格納するかどうか。
5.3.6 より前のバージョンでは &true; あるいは &false; しか指定できませんでした。これは
DEBUG_BACKTRACE_PROVIDE_OBJECT オプションを指定するかしないかを意味します。
limit
5.4.0 以降、このパラメータを使ってスタックフレームの数を制限できるようになりました。
デフォルト (limit=0) は、すべてのスタックフレームを返します。
&reftitle.returnvalues;
連想配列の配列を返します。連想配列の要素として返される可能性があるものは以下のとおりです。
debug_backtrace から返される可能性がある要素
&Name;
&Type;
&Description;
function
string
カレントの関数名。
__FUNCTION__
も参照してください。
line
integer
カレントの行番号。
__LINE__
も参照してください。
file
string
カレントのファイル名。
__FILE__
も参照してください。
class
string
カレントのクラス名。
__CLASS__
も参照してください。
object
object
カレントのオブジェクト。
type
string
カレントのコール方式。メソッド呼び出しの場合は "->"、
静的なメソッド呼び出しの場合は "::" が返されます。
関数呼び出しの場合は何も返されません。
args
array
関数の内部の場合、関数の引数のリストとなります。
インクルードされたファイル内では、
読み込まれたファイルの名前となります。
&reftitle.changelog;
&Version;
&Description;
5.4.0
オプションのパラメータ limit が追加されました。
5.3.6
provide_object パラメータが options
パラメータに変わり、オプション
DEBUG_BACKTRACE_IGNORE_ARGS が追加されました。
5.2.5
オプションのパラメータ provide_object が追加されました。
5.1.1
現在のオブジェクトを返せるようになりました。
&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