debug_backtrace

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

debug_backtraceErzeugt Daten zur Ablaufverfolgung

Beschreibung

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

debug_backtrace() erzeugt Daten zur Ablaufverfolgung.

Parameter-Liste

options

Ab 5.3.6 ist akzeptiert dieser Parameter eine Bitmaske mit den folgenden Optionen:

debug_backtrace() Optionen
DEBUG_BACKTRACE_PROVIDE_OBJECT Ob der "object" Index befüllt werden soll.
DEBUG_BACKTRACE_IGNORE_ARGS Ob der "args" Index, welcher alle Funktions- oder Methodenargumente enthält, ausgelassen werden soll um Arbeitsspeicher zu sparen.
Vor PHP 5.3.6 waren die einzigen möglichen Werte TRUE und FALSE, welche dem Setzen oder nicht Setzen von DEBUG_BACKTRACE_PROVIDE_OBJECT entsprachen.

limit

Ab PHP 5.4.0 kann dieser Parameter benutzt werden, um die Anzahl an zurückgegebenen Stack Frames zu limitieren. Standardmäßig (limit=0) werden alle Stack Frames 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()
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.
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.

Changelog

Version Beschreibung
5.4.0 Der Parameter limit wurde hinzugefügt.
5.3.6 Der Parameter provide_object wurde durch options ersetzt und DEBUG_BACKTRACE_IGNORE_ARGS wurde als zusätzliche Option hinzugefügt.
5.2.5 Der optionale Parameter provide_object wurde hinzugefügt.
5.1.1 Aktuelles object als möglichen Rückgabewert hinzugefügt.

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

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