Php/docs/function.debug-backtrace

From Get docs

debug_backtrace

(PHP 4 >= 4.3.0, PHP 5, PHP 7)

debug_backtraceGenerates 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 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.


Return Values

Returns an array of associative arrays. The possible returned elements are as follows:

Possible returned elements from debug_backtrace()
Name Type Description
function string The current function name. See also

__FUNCTION__.

line int 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).


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