debug_backtrace
(PHP 4 >= 4.3.0, PHP 5)
debug_backtrace — Erzeugt Daten zur Ablaufverfolgung
Beschreibung
array debug_backtrace
([ int
$options = DEBUG_BACKTRACE_PROVIDE_OBJECT
[, int $limit = 0
]] )debug_backtrace() erzeugt Daten zur Ablaufverfolgung.
Parameter-Liste
-
options -
Ab 5.3.6 ist akzeptiert dieser Parameter eine Bitmaske mit den folgenden Optionen:
Vor PHP 5.3.6 waren die einzigen möglichen Wertedebug_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. TRUEundFALSE, welche dem Setzen oder nicht Setzen vonDEBUG_BACKTRACE_PROVIDE_OBJECTentsprachen. -
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:
| 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
- trigger_error() - Erzeugt eine benutzerdefinierte Fehlermeldung/Warnung/Benachrichtigung
- debug_print_backtrace() - Gibt die Daten für eine Ablaufverfolgung aus