(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)
debug_backtrace — Génère le contexte de débogage
$options = DEBUG_BACKTRACE_PROVIDE_OBJECT, int $limit = 0): arraydebug_backtrace() génère un contexte de débogage PHP.
optionsCe paramètre est un masque d'options suivantes :
| DEBUG_BACKTRACE_PROVIDE_OBJECT | Si l'on doit ou non peupler l'index "object". | 
| DEBUG_BACKTRACE_IGNORE_ARGS | Si l'on doit ou non omettre l'index "args" et donc tous les arguments de la fonction/méthode pour économiser de la mémoire. | 
limit
       Ce paramètre peut être utilisé pour limiter
       le nombre de trames dans la pile retournée. Par défaut
       (limit=0), la
       fonction retourne toutes les trames de la pile.
      
Retourne un tableau de tableaux associatifs. Les éléments de retour possibles sont les suivants :
| Nom | Type | Description | 
|---|---|---|
| function | chaîne de caractères | Le nom de la fonction courante. Voir aussi __FUNCTION__. | 
| line | entier | Le numéro de la ligne courante. Voir aussi __LINE__. | 
| file | chaîne de caractères | Le nom du fichier courant. Voir aussi __FILE__. | 
| class | chaîne de caractères | Le nom de la classe courante. Voir aussi __CLASS__. | 
| object | objet | L'objet courant. | 
| type | chaîne de caractères | Le type de classe courante. Si une méthode est appelée, "->" est retourné. Si une méthode statique est appelée, "::" est retourné. Si une fonction est appelée, rien ne sera retourné. | 
| args | tableau | Si à l'intérieur d'une fonction, ceci liste des arguments. Si dans un fichier inclus, ceci liste des fichiers inclus. | 
Exemple #1 Exemple avec 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';
?>
Résultat de l'exécution de /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"
    }
}