Heim  >  Artikel  >  Backend-Entwicklung  >  Über die Funktion debug_backtrace() in PHP, die Debugging-Informationen am Aufrufort ausgibt

Über die Funktion debug_backtrace() in PHP, die Debugging-Informationen am Aufrufort ausgibt

不言
不言Original
2018-07-14 17:09:021832Durchsuche

Dieser Artikel stellt hauptsächlich die Debugging-Informationen zum Druckaufrufpunkt der Funktion debug_backtrace() vor. Jetzt kann ich ihn mit Ihnen teilen.

debug_backtrace

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

debug_backtrace — Generieren Sie einen Backtrace

Beschreibung

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

debug_backtrace() generiert einen PHP-Backtrace ).

Parameter

  • options

  • Ab 5.3.6 ist dieser Parameter eine Bitmaske für Code für folgende Optionen:

    DEBUG_BACKTRACE_PROVIDE_OBJECT
    debug_backtrace() 选项
    DEBUG_BACKTRACE_PROVIDE_OBJECT 是否填充 "object" 的索引。
    DEBUG_BACKTRACE_IGNORE_ARGS 是否忽略 "args" 的索引,包括所有的 function/method 的参数,能够节省内存开销。
    debug_backtrace() option

    Gibt an, ob der Index von „object“ gefüllt werden soll.
    DEBUG_BACKTRACE_IGNORE_ARGS Gibt an, ob der Index von „args“, einschließlich aller Funktions-/Methodenparameter, ignoriert werden soll, um Speicheraufwand zu sparen.
    TRUEVor 5.3.6 konnten nur FALSE oder DEBUG_BACKTRACE_PROVIDE_OBJECT verwendet werden, die jeweils gleich waren, ob festgelegt werden soll die Option .
  • limit

  • limitAb 5.4.0 kann dieser Parameter verwendet werden, um die Anzahl der zurückgegebenen Stack-Frames zu begrenzen. Der Standardwert ist (=0

    ), wodurch alle Stapelrahmen zurückgegeben werden.

Rückgabewert

Gibt ein Array zurück, das viele assoziative Arrays enthält. Elemente, die zurückgegeben werden können:

有可能从 debug_backtrace() 返回的元素
名字 类型 说明
function string 当前的函数名,参见: __FUNCTION__。
line integer 当前的行号。参见: __LINE__。
file string 当前的文件名。参见: __FILE__。
class string 当前 class 的名称。参见 __CLASS__
object object 当前的 object。
type string 当前调用的类型。如果是一个方法,会返回 "->"。如果是一个静态方法,会返回 "::"。 如果是一个函数调用,则返回空。
args array 如果在一个函数里,这会列出函数的参数。 如果是在一个被包含的文件里,会列出包含的文件名。
function
Elemente, die von

debug_backtrace()

Name Typ Beschreibung
版本 说明
5.4.0 添加了可选的参数 limit
5.3.6 参数 provide_object 改成 options,并且增加了可选参数 DEBUG_BACKTRACE_IGNORE_ARGS
5.2.5 添加了可选参数 provide_object
5.1.1 添加了当前的 object 为可能返回的元素。
string
Der aktuelle Funktionsname, siehe: __FUNCTION__.
Zeile Ganzzahl Die aktuelle Zeilennummer. Siehe: __LINE__.
Datei Zeichenfolge Der aktuelle Dateiname. Siehe: __FILE__.
class string Der Name der aktuellen Klasse. Siehe __CLASS__
object object das aktuelle Objekt.
type string Der Typ des aktuellen Aufrufs. Wenn es sich um eine Methode handelt, wird „->“ zurückgegeben. Wenn es sich um eine statische Methode handelt, wird „::“ zurückgegeben. Wenn es sich um einen Funktionsaufruf handelt, wird null zurückgegeben.
args array If in Innerhalb einer Funktion werden hier die Argumente der Funktion aufgelistet. Wenn es sich um eine eingebundene Datei handelt, wird der Name der eingebundenen Datei aufgeführt.
Protokoll aktualisieren
Version th> Beschreibung
5.4.0 Optionale Parameter hinzugefügt .
5.3.6 Der Parameter provide_object wurde in geändert, und optionale Parameter wurden geändert DEBUG_BACKTRACE_IGNORE_ARGS hinzugefügt.
5.2.5 Optionaler Parameter provide_object hinzugefügt.
5.1.1 Das aktuelle Objekt wurde als mögliches zurückgegebenes Element hinzugefügt.

Beispiel

Beispiel #1 debug_backtrace() Beispiel

<?php
// filename: /tmp/a.php
function a_test($str)
{
    echo "\nHi: $str";
    var_dump(debug_backtrace());
}
a_test(&#39;friend&#39;);
?>
<?php
// filename: /tmp/b.php
include_once &#39;/tmp/a.php&#39;;
?>

Ausführung Das zurückgegebene Ergebnis ähnelt dem folgenden:

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"
  }
}

Das Obige ist Ich hoffe, dass der Inhalt des gesamten Artikels für das Lernen aller hilfreich ist. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website!

Verwandte Empfehlungen:

So verwenden Sie var_export in PHP

Über ein Problem mit PHP-Bedingungsoperatoren und Lösung

Das obige ist der detaillierte Inhalt vonÜber die Funktion debug_backtrace() in PHP, die Debugging-Informationen am Aufrufort ausgibt. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn