Maison  >  Article  >  développement back-end  >  Utilisation de la fonction debug_print_backtrace() de l'outil de débogage php

Utilisation de la fonction debug_print_backtrace() de l'outil de débogage php

怪我咯
怪我咯original
2017-07-10 14:19:511301parcourir

debug_print_backtrace() est une fonction très discrète, et peu de gens y prêtent attention. Mais quand j'appelle un autre objet sur un objet et que j'appelle ensuite d'autres objets et une fonction dans le fichier et qu'une erreur se produit, c'est marrant

Si on veut savez-vous qui a appelé une certaine méthode ? debug_print_backtrace peut la résoudre
debug_print_backtrace() peut imprimer le processus d'appel d'une page, et il est clair d'où il vient
Mais c'est une fonction propriétaire de PHP5, d'accord. est déjà une implémentation dans pear,
http://pear.php.net/package/PHP_Compat

Code de test, Le code est le suivant :

<?php 
class a{ 
function say($msg) { 
echo "msg:".$msg; 
echo "<pre class="brush:php;toolbar:false">";debug_print_backtrace(); 
} 
} 

class b { 
function say($msg) { 
$a = new a(); 
$a->say($msg); 
} 
} 

class c { 
function construct($msg) { 
$b = new b(); 
$b->say($msg); 
} 
} 

$c = new c("test");

Résultat de sortie

Le code est le suivant :

msg:test 
#0 a->say(test) called at [/var/www/test/test0723.php:12] 
#1 b->say(test) called at [/var/www/test/test0723.php:19] 
#2 c->construct(test) called at [/var/www/test/test0723.php:23]

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn