debug_backtrace()

debug_backtrace() — Generates a backtrace.

Built-in function of PHP 8.5. The manual lists it as available in PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8. This page is the reference card: signature, parameters and return value, plus the changelog and the example the manual provides.

What it does

debug_backtrace() generates a PHP backtrace.

Signature

debug_backtrace(int $options = DEBUG_BACKTRACE_PROVIDE_OBJECT, int $limit = 0): array

Parameters

ParameterTypeWhat it takes
$optionsintThis 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. Note: There are four possible combinations: debug_backtrace() options debug_backtrace() Populates both indexes ...
$limitintThis parameter can be used to limit the number of stack frames returned. By default (limit=0) it returns all stack frames.

Return value

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 if DEBUG_BACKTRACE_PROVIDE_OBJECT is given. 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 ...

Example

A runnable snippet:

// 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';

Output:

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(), debug_print_backtrace()

All PHP 8.5 built-in functions

Reference card built from the PHP manual page debug_backtrace() (PHP documentation, CC BY 3.0). The page is generated from the manual, so the wording of the parameter and return value text follows php.net.