Heim  >  Artikel  >  Backend-Entwicklung  >  Verwendung der Funktion debug_print_backtrace() des PHP-Debugging-Tools

Verwendung der Funktion debug_print_backtrace() des PHP-Debugging-Tools

怪我咯
怪我咯Original
2017-07-10 14:19:511291Durchsuche

debug_print_backtrace() ist eine sehr zurückhaltende Funktion, der nur wenige Menschen Beachtung schenken. Aber wenn ich ein anderes Objekt auf einem -Objekt aufrufe und dann andere -Objekte und eine Funktion in der Datei aufrufe und ein Fehler auftritt, ist das lachend

Wenn wir wollen Wissen Sie, wer eine bestimmte Methode aufgerufen hat? debug_print_backtrace kann das Problem lösen.
debug_print_backtrace() kann den aufrufenden Prozess einer Seite ausdrucken, und es ist klar, woher er kommt.
Aber das ist eine proprietäre Funktion von PHP5, okay ist bereits eine Implementierung in Pear,
http://pear.php.net/package/PHP_Compat

Testcode, Der Code lautet wie folgt:

<?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");

Ausgabeergebnis

Der Code lautet wie folgt:

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]

Das obige ist der detaillierte Inhalt vonVerwendung der Funktion debug_print_backtrace() des PHP-Debugging-Tools. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn