debug_backtrace
(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)
debug_backtrace — Erzeugt eine Ablaufverfolgung
Beschreibung
$options
= DEBUG_BACKTRACE_PROVIDE_OBJECT
, int $limit
= 0): arraydebug_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. -
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:
Name | Typ | Beschreibung |
---|---|---|
function | string | Der Name der aktuell ausgeführten Funktion. Siehe auch __FUNCTION__. |
line | int | Die aktuelle Zeilennummer. Siehe auch __LINE__. |
file | string | Der aktuelle Dateiname. Siehe auch __FILE__. |
class | string | Der aktuelle Name der Klasse. 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. |
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
- trigger_error() - Erzeugt eine benutzerdefinierte Fehlermeldung/Warnung/Benachrichtigung
- debug_print_backtrace() - Gibt die Daten für eine Ablaufverfolgung aus