Forum und email

debug_backtrace

(PHP 4 >= 4.3.0, PHP 5)

debug_backtrace — Erzeugt Daten zur Ablaufverfolgung

Beschreibung

array debug_backtrace ( void )

debug_backtrace() erzeugt Daten zur Ablaufverfolgung und gibt diese Informationen in einem assoziativen array zurück. Die möglichen zurückgegebenen Arrayelemente sind in der folgenden Tabelle aufgelistet:

Als zurückgegebene Arrayelemente von debug_backtrace() sind möglich:
Name Typ Beschreibung
function string Der Name der aktuell ausgeführten Funktion. Siehe auch __FUNCTION__.
line integer Die aktuelle Zeilennummer. Siehe auch __LINE__.
file string Der aktuelle Dateiname. Siehe auch __FILE__.
class string Der aktuelle class - Name. Siehe auch __CLASS__.
object object Das aktuelle Objekt. Dieses Element ist seit PHP 5.1.1 verfügbar.
type string Der aktuelle Typ des Aufrufs. Falls der Aufruf in einer Methode erfolgte, wird "->" zurückgegeben. Falls der Aufruf aus einer statischen Funktion erfolgte, wird "::" zurückgegeben und falls der Aufruf aus einer Funktion erfolgte, wird nichts zurückgegeben.
args array Falls der Aufruf aus einer Funktion erfolgte, werden hier die Funktionsargumente aufgelistet. Falls der Aufruf aus einer eingebundenen Datei erfolgte, werden die Namen der Include-Dateien angegeben.

Hier folgt ein einfaches Beispiel.

Example#1 debug_backtrace() Beispiel

// Dateiname: /tmp/a.php
<?php

function a_test($str
{

    echo 
"\nHi: $str";

    
var_dump(debug_backtrace());
}

a_test('friend');
?>

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

Ergebnisse beim Aufruf von /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"
  }
}

Siehe auch trigger_error() und debug_print_backtrace().