バックトレースを生成する:
<?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 | カレントのコールタイプ。可能なコール:
|
args | array | 関数の内部の場合、関数の引数のリストとなります。インクルードされたファイル内では、読み込まれたファイルの名前となります。 |
debug_backtrace(options,limit);
パラメータ | 説明 |
---|---|
options |
任意。次のオプションのビットマスクを指定する: |
limit | 任意。出力するスタックフレームの数を制限する。デフォルトでは(limit=0)、すべてのスタックフレームを出力する |
返り値: | なし |
---|---|
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: 現在のオブジェクトを返せるようになりました |