Maison >développement back-end >tutoriel php >À propos de la fonction debug_backtrace() en PHP qui imprime les informations de débogage à l'emplacement de l'appel
Cet article présente principalement les informations de débogage sur le point d'appel d'impression de la fonction debug_backtrace() en PHP. Il a une certaine valeur de référence. Maintenant, je le partage avec vous. Les amis dans le besoin peuvent s'y référer
debug_backtrace(PHP 4 >= 4.3.0, PHP 5, PHP 7)debug_backtrace — Générer une trace
Descriptiontableau debug_backtrace ([ int $options
= DEBUG_BACKTRACE_PROVIDE_OBJECT [, int $limit
= 0 ]] )
debug_backtrace() génère une trace PHP).
Paramètresoptions
DEBUG_BACKTRACE_PROVIDE_OBJECT | 是否填充 "object" 的索引。 |
DEBUG_BACKTRACE_IGNORE_ARGS | 是否忽略 "args" 的索引,包括所有的 function/method 的参数,能够节省内存开销。 |
Avant la version 5.3.6, les seules valeurs pouvant être utilisées étaient TRUE
ou FALSE
, qui étaient respectivement égales à l'opportunité de définir l'option DEBUG_BACKTRACE_PROVIDE_OBJECT
.
limit
Depuis la version 5.4.0, ce paramètre peut être utilisé pour limiter le nombre de frames de pile renvoyés. La valeur par défaut est (limit
=0), qui renvoie tous les cadres de pile.
Renvoie un tableau contenant de nombreux tableaux associatifs. Éléments pouvant être renvoyés :
名字 | 类型 | 说明 |
---|---|---|
function | string | 当前的函数名,参见: __FUNCTION__。 |
line | integer | 当前的行号。参见: __LINE__。 |
file | string | 当前的文件名。参见: __FILE__。 |
class | string | 当前 class 的名称。参见 __CLASS__ |
object | object | 当前的 object。 |
type | string | 当前调用的类型。如果是一个方法,会返回 "->"。如果是一个静态方法,会返回 "::"。 如果是一个函数调用,则返回空。 |
args | array | 如果在一个函数里,这会列出函数的参数。 如果是在一个被包含的文件里,会列出包含的文件名。 |
版本 | 说明 |
---|---|
5.4.0 | 添加了可选的参数 limit 。 |
5.3.6 | 参数 provide_object 改成 options ,并且增加了可选参数 DEBUG_BACKTRACE_IGNORE_ARGS 。 |
5.2.5 | 添加了可选参数 provide_object 。 |
5.1.1 | 添加了当前的 object 为可能返回的元素。 |
Version th> | Description |
---|---|
5.4.0 | Paramètres facultatifs ajoutés . |
5.3.6 | Le paramètre provide_object a été modifié en , et les paramètres facultatifs ont été ajout de DEBUG_BACKTRACE_IGNORE_ARGS . |
5.2.5 | Ajout du paramètre facultatif provide_object . |
5.1.1 | Ajout de l'objet actuel comme élément renvoyé possible. |
Exemple n°1 Exemple debug_backtrace()
<?php // filename: /tmp/a.php function a_test($str) { echo "\nHi: $str"; var_dump(debug_backtrace()); } a_test('friend'); ?> <?php // filename: /tmp/b.php include_once '/tmp/a.php'; ?>
Exécution Le résultat renvoyé est similaire au suivant :
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" } }
Ci-dessus, c'est tout le contenu de cet article. J'espère qu'il sera utile à l'étude de tout le monde. Pour plus de contenu connexe, veuillez faire attention au site Web PHP chinois !
Recommandations associées :
Comment utiliser var_export en PHP
À propos d'un problème rencontré avec les opérateurs conditionnels PHP et la solution
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!