debug_backtrace

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

debug_backtraceErzeugt eine Ablaufverfolgung

Beschreibung

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

debug_backtrace() erzeugt eine PHP-Ablaufverfolgung.

Parameter-Liste

options

Dieser Parameter ist eine Bitmaske für die folgenden Optionen:

debug_backtrace()-Optionen
DEBUG_BACKTRACE_PROVIDE_OBJECT Legt fest, ob der "object"-Index befüllt werden soll.
DEBUG_BACKTRACE_IGNORE_ARGS Legt fest, ob der "args"-Index, welcher alle Funktions- oder Methodenargumente enthält, ausgelassen werden soll, um Arbeitsspeicher zu sparen.

Hinweis:

Es gibt vier mögliche Kombinationen:

debug_backtrace()-Optionen
debug_backtrace() Füllt beide Indizes
debug_backtrace(DEBUG_BACKTRACE_PROVIDE_OBJECT)
debug_backtrace(1)
debug_backtrace(0) Lässt den Index "object" weg und belegt den Index "args".
debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS) Lässt die Indizes "object"und"args" weg.
debug_backtrace(2)
debug_backtrace(DEBUG_BACKTRACE_PROVIDE_OBJECT|DEBUG_BACKTRACE_IGNORE_ARGS) Belegt den Index "object"und lässt den Index "args" weg.
debug_backtrace(3)
limit

Dieser Parameter kann benutzt werden, um die Anzahl an zurückgegebenen Stackframes zu limitieren. Standardmäßig (limit=0) werden alle Stackframes zurückgegeben.

Rückgabewerte

Gibt ein assoziatives Array zurück. Als zurückgegebene Arrayelemente von debug_backtrace() sind möglich:

Mögliche Rückgabewerte von debug_backtrace()
NameTypBeschreibung
functionstring Der Name der aktuell ausgeführten Funktion. Siehe auch __FUNCTION__.
lineint Die aktuelle Zeilennummer. Siehe auch __LINE__.
filestring Der aktuelle Dateiname. Siehe auch __FILE__.
classstring Der aktuelle Name der Klasse. Siehe auch __CLASS__.
objectobject Das aktuelle Objekt.
typestring 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.
argsarray 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.

Beispiele

Beispiel #1 debug_backtrace()-Beispiel

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

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

a_test('friend');
?>

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

Ähnliche Ergebnisse wie die folgenden 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

To Top