DEBUG_BACKTRACE(3) 1 DEBUG_BACKTRACE(3)
debug_backtrace - Generates a backtrace
SYNOPSIS
array debug_backtrace ([int $options = DEBUG_BACKTRACE_PROVIDE_OBJECT], [int $limit])
DESCRIPTION
debug_backtrace(3) generates a PHP backtrace.
PARAMETERS
o $options
- As of 5.3.6, this parameter is a bitmask for the following options:
debug_backtrace(3) 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_PRO-
VIDE_OBJECT option respectively.
o $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.
RETURN VALUES
Returns an array of associative arrays. The possible returned elements are as follows:
Possible returned elements from debug_backtrace(3)
+---------+--------------------------------------+---+
| Name | | |
| | | |
| | Type | |
| | | |
| | Description | |
| | | |
+---------+--------------------------------------+---+
|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). | |
| | | |
+---------+--------------------------------------+---+
CHANGELOG
+--------+---------------------------------------------------+
|Version | |
| | |
| | Description |
| | |
+--------+---------------------------------------------------+
| 5.4.0 | |
| | |
| | Added the optional parameter $limit. |
| | |
| 5.3.6 | |
| | |
| | The parameter $provide_object changed to |
| | $options and additional option DEBUG_BACK- |
| | TRACE_IGNORE_ARGS is added. |
| | |
| 5.2.5 | |
| | |
| | Added the optional parameter $provide_object. |
| | |
| 5.1.1 | |
| | |
| | Added the current object as a possible return |
| | element. |
| | |
+--------+---------------------------------------------------+
EXAMPLES
Example #1
debug_backtrace(3) example
<?php
// filename: /tmp/a.php
function a_test($str)
{
echo "
Hi: $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"
}
}
SEE ALSO
trigger_error(3), debug_print_backtrace(3).
PHP Documentation Group DEBUG_BACKTRACE(3)