Génère le contexte de débogage

# debug_backtrace

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

debug_backtrace — Génère le contexte de débogage

### Description

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

debug_backtrace() génère un contexte de débogage PHP.

### Liste de paramètres

`options`

  Depuis PHP 5.3.6, ce paramètre est un masque d'options suivantes :

  Options pour la fonction debug_backtrace()
  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.

  Avant PHP 5.3.6, les seules valeurs reconnues sont `TRUE` ou `FALSE`, ce qui revenait à, respectivement, définir ou non l'option `DEBUG_BACKTRACE_PROVIDE_OBJECT`.
`limit`

  Depuis 5.4.0, 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.

### Valeurs de retour

Retourne un tableau de tableaux associatifs. Les éléments de retour possibles sont les suivants :

Éléments possibles de retour de la fonction debug_backtrace()
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.

### Historique

Version | Description
--- | ---
5.4.0 | Le paramètre optionnel `limit` a été ajouté.
5.3.6 | Le paramètre `provide_object` a été modifié en `options` et d'autres options `DEBUG_BACKTRACE_IGNORE_ARGS` ont été ajoutées.
5.2.5 | Ajout du paramètre optionnel `provide_object`.
5.1.1 | Ajout de l'objet courant comme élément de retour possible.

### Exemples

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

### Voir aussi

- trigger_error() - Déclenche une erreur utilisateur
- debug_print_backtrace() - Affiche la pile d'exécution PHP