Fonction debug_backtrace() PHP

Exemple

Générer un backtrace PHP :

<?php
 function a($txt) {
     b("Glenn");
 }
 function b($txt) {
     c("Cleveland");
}
 function c($txt) {
     var_dump(debug_backtrace());
 }
 a("Peter");
 ?> 

La sortie du code ressemble à ceci :

Tableau (
     [0] => Tableau (
         [file] => C:\webfolder\test.php
         [line] => 6
         [function] => c
         [args] => Tableau (
             [0] => Cleveland
         )
     )
     [1] => Tableau (
         [file] => C:\webfolder\test.php
         [line] => 3
         [function] => b
         [args] => Tableau (
             [0] => Glenn
         )
     )
     [2] => Tableau (
         [file] => C:\webfolder\test.php
         [line] => 11
         [function] => a
         [args] => Tableau (
             [0] => Peter
         )
     )
 )

Définition et utilisation

La fonction debug_backtrace() génère un backtrace (piste de retour).

Cette fonction affiche les données générées par le code de la fonction debug_backtrace().

Retourne un tableau associatif. Les éléments éventuels peuvent être les suivants :

Nom Type Description
function string Nom de la fonction actuelle
line integer Numéro de ligne actuel
file string Nom du fichier actuel
class string Nom de la classe actuelle
objet objet Objet actuel
type string

Type d'appel actuel. Appels possibles :

  • Retourne: "->" - Appel de méthode
  • Retourne: "::" - Appel de méthode statique
  • Retourne nothing - Appel de fonction
args array Si dans une fonction, liste les arguments de la fonction. Si dans un fichier cité, liste le nom du fichier cité.

Syntaxe

debug_backtrace(options,limit);
Paramètres Description
options

Optionnel. Définir le masque de bits des options suivantes :

  • DEBUG_BACKTRACE_PROVIDE_OBJECT (remplit l'index "object").
  • DEBUG_BACKTRACE_IGNORE_ARGS (ignore l'index "args", y compris tous les arguments des fonctions/methodes, ce qui peut économiser des coûts de mémoire).
limit Optionnel. Limite le nombre de frames de pile retournés. Par défaut, c'est (limit=0) retourne tous les frames d'appel de pile.

Détails techniques

Valeur de retour : Aucun
Version PHP : 4.3+
Journal des mises à jour PHP

PHP 5.4 : ajouté un paramètre optionnel limit.

PHP 5.3.6 : paramètre provide_object modifié optionset ajouté le paramètre optionnel DEBUG_BACKTRACE_IGNORE_ARGS.

PHP 5.2.5 : ajouté un paramètre optionnel provide_object.

PHP 5.1.1 : ajouté le courant objet Pour les éléments éventuels.