array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'fr', ), 'this' => array ( 0 => 'function.debug-backtrace.php', 1 => 'debug_backtrace', ), 'up' => array ( 0 => 'ref.errorfunc.php', 1 => 'Fonctions sur la gestion des erreurs', ), 'prev' => array ( 0 => 'ref.errorfunc.php', 1 => 'Fonctions sur la gestion des erreurs', ), 'next' => array ( 0 => 'function.debug-print-backtrace.php', 1 => 'debug_print_backtrace', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'fr', 'path' => 'reference/errorfunc/functions/debug-backtrace.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)
debug_backtrace — Génère le contexte de débogage
debug_backtrace() génère un contexte de débogage PHP.
options
Ce 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. |
Note:
Il existe quatre combinaisons possibles :
Options de debug_backtrace() debug_backtrace()
Alimente les deux index debug_backtrace(DEBUG_BACKTRACE_PROVIDE_OBJECT)
debug_backtrace(1)
debug_backtrace(0)
Omet l'index "object"
et remplit l'index"args"
.debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS)
Omet l'index "object"
et l'index"args"
.debug_backtrace(2)
debug_backtrace(DEBUG_BACKTRACE_PROVIDE_OBJECT|DEBUG_BACKTRACE_IGNORE_ARGS)
Remplit l'index "object"
et omet l'index"args"
.debug_backtrace(3)
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" } }