Php/docs/function.debug-backtrace
debug_backtrace
(PHP 4 >= 4.3.0, PHP 5, PHP 7)
debug_backtrace — Generates a backtrace
Description
debug_backtrace
([ int $options
= DEBUG_BACKTRACE_PROVIDE_OBJECT
[, int $limit
= 0
]] ) : array
debug_backtrace() generates a PHP backtrace.
Parameters
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
orFALSE
, which are the same as setting or not setting theDEBUG_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.
Return Values
Returns an array of associative arrays. The possible returned elements are as follows:
Name | Type | Description |
---|---|---|
function | string | The current function name. See also |
line | int | The current line number. See also |
file | string | The current file name. See also |
class | string | The current class name. See also |
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). |
Examples
Example #1 debug_backtrace() example
<?php// filename: /tmp/a.phpfunction a_test($str){ echo "\nHi: $str"; var_dump(debug_backtrace());}a_test('friend');?><?php// filename: /tmp/b.phpinclude_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() - Generates a user-level error/warning/notice message
- debug_print_backtrace() - Prints a backtrace