Generates a backtrace (original) (raw)

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

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 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 optionDEBUG_BACKTRACE_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() example

`

`

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