debug_backtrace

debug_backtrace

(PHP 4 >= 4.3.0, PHP 5)

debug_backtrace --  Generates a backtrace

Description

array debug_backtrace ( void )

debug_backtrace() generates a PHP backtrace and returns this information as an associative array. The possible returned elements are listed in the following table:

Таблица 1. Possible returned elements from debug_backtrace()

Name Type Description
function string The current function name. Смотрите также __FUNCTION__.
line integer The current line number. Смотрите также __LINE__.
file string The current file name. Смотрите также __FILE__.
class string The current class name. Смотрите также __CLASS__
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).

The following is a simple example.

Пример 1. debug_backtrace() example

<?php
// filename: a.php

function a_test($str)
{
    echo
"\nHi: $str";
    
var_dump(debug_backtrace());
}

a_test('friend');
?>

<?php
// filename: b.php
include_once '/tmp/a.php';
?>

Results 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"
  }
}

Смотрите также trigger_error() and debug_print_backtrace().