debug_backtrace
(PHP 4 >= 4.3.0, PHP 5, PHP 7)
debug_backtrace — Generates a backtrace
설명
array debug_backtrace
([ int $options
= DEBUG_BACKTRACE_PROVIDE_OBJECT
[, int $limit
= 0
]] )
인수
-
options
-
As of 5.3.6, this parameter is a bitmask for the following options:
debug_backtrace() options
DEBUG_BACKTRACE_PROVIDE_OBJECT |
Whether or not to populate the "object" index.
|
DEBUG_BACKTRACE_IGNORE_ARGS |
Whether or not to omit the "args" index, and thus all the function/method arguments,
to save memory.
|
Before 5.3.6, the only values recognized are TRUE
or FALSE
, which are the same as
setting or not setting the DEBUG_BACKTRACE_PROVIDE_OBJECT
option respectively.
-
limit
-
As of 5.4.0, this parameter can be used to limit the number of stack frames returned.
By default (limit
=0) it returns all stack frames.
반환값
Returns an array of associative arrays. The possible returned elements
are as follows:
Possible returned elements from debug_backtrace()
이름 |
자료형 |
설명 |
function |
string |
The current function name. See also
__FUNCTION__.
|
line |
integer |
The current line number. See also
__LINE__.
|
file |
string |
The current file name. See also
__FILE__.
|
class |
string |
The current class name. See also
__CLASS__
|
object |
object |
The current object.
|
type |
string |
The current call type. If a method call, "->" is returned. If a static
method call, "::" is returned. If a function call, nothing is returned.
|
args |
array |
If inside a function, this lists the functions arguments. If
inside an included file, this lists the included file name(s).
|
예제
Example #1 debug_backtrace() example
<?php
// filename: /tmp/a.php
function a_test($str)
{
echo "\nHi: $str";
var_dump(debug_backtrace());
}
a_test('friend');
?>
<?php
// filename: /tmp/b.php
include_once '/tmp/a.php';
?>
Results similar to the following when executing
/tmp/b.php:
Hi: friend
array(2) {
[0]=>
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"
}
}