首頁  >  文章  >  後端開發  >  php 偵錯利器debug_print_backtrace()函數的用法

php 偵錯利器debug_print_backtrace()函數的用法

怪我咯
怪我咯原創
2017-07-10 14:19:511295瀏覽

debug_print_backtrace() 是一個很低調的函數,很少有人注意過它. 不過當我對著一個物件呼叫另一個物件再呼叫其它的物件和檔案中的一個函數出錯時,它正在一邊笑呢

如果我們想知道某個方法被誰呼叫了? debug_print_backtrace可以解決
debug_print_backtrace() 可以打印出一個頁面的調用過程, 從哪兒來到哪兒去一目了然.
不過這是一個PHP5的專有函數,好在pear中已經有了實作,
http://pear.php.net/package/PHP_Compat

測試程式碼,程式碼如下:

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

輸出結果

程式碼如下:

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]

以上是php 偵錯利器debug_print_backtrace()函數的用法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn