摘要:是一個(gè)很低調(diào)的函數(shù)很少有人注意過(guò)它不過(guò)當(dāng)我對(duì)著一個(gè)對(duì)象調(diào)用另一個(gè)對(duì)象再調(diào)用其它的對(duì)象和文件中的一個(gè)函數(shù)出錯(cuò)時(shí)它正在一邊笑呢。查看整個(gè)程序的調(diào)用棧,用來(lái)查看瞬間函數(shù)調(diào)用棧,方便查錯(cuò)。如果我們想知道某個(gè)方法被誰(shuí)調(diào)用了可以解決。
debug_backtrace() 是一個(gè)很低調(diào)的函數(shù),很少有人注意過(guò)它. 不過(guò)當(dāng)我對(duì)著一個(gè)對(duì)象調(diào)用另一個(gè)對(duì)象再調(diào)用其它的對(duì)象和文件中的一個(gè)函數(shù)出錯(cuò)時(shí),它正在一邊笑呢。
debug_print_backtrace(), debug_backtrace() 只是前者直接打印出來(lái)了而已。查看整個(gè)程序的調(diào)用棧,用來(lái)查看瞬間函數(shù)調(diào)用棧,方便查錯(cuò)。
如果我們想知道某個(gè)方法被誰(shuí)調(diào)用了? debug_backtrace可以解決。debug_backtrace() 可以打印出一個(gè)頁(yè)面的調(diào)用過(guò)程 , 從哪兒來(lái)到哪兒去一目了然. 不過(guò)這是一個(gè)PHP5的專有函數(shù),好在pear中已經(jīng)有了實(shí)現(xiàn),http://pear.php.net/package/P...
測(cè)試代碼
"; // print_r(debug_backtrace()); print_r(print_message_class()); } } 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");
輸出結(jié)果:
msg:test a.say
將debug_backtrace封裝為一個(gè)方法,只獲取輸出類(lèi)名和方法名:
/** * 打印類(lèi)的標(biāo)記 * * @return string */ function print_message_class() { $backtrace = debug_backtrace(); $class_name = $backtrace[1]["class"]; $func_name = $backtrace[1]["function"]; $message = "{$class_name}.{$func_name}() "; return $message; }
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/21806.html
摘要:前言在我們調(diào)試程序過(guò)程中,往往可能會(huì)出現(xiàn)需要回溯跟蹤一個(gè)方法,這里我就介紹兩個(gè)比較不錯(cuò)的函數(shù),也是我經(jīng)常使用的。內(nèi)容產(chǎn)生一條回溯跟蹤打印一條回溯。 前言 在我們調(diào)試程序過(guò)程中,往往可能會(huì)出現(xiàn)需要回溯跟蹤一個(gè)方法,這里我就介紹兩個(gè)比較不錯(cuò)的PHP函數(shù),也是我經(jīng)常使用的。 內(nèi)容 (PHP 4 >= 4.3.0, PHP 5, PHP 7) debug_backtrace — 產(chǎn)生一條回溯跟...
摘要:是一個(gè)強(qiáng)大現(xiàn)代零配置的調(diào)試工具。你還在使用和么你該試試。安裝使用訪問(wèn)的項(xiàng)目頁(yè)面了解文檔配置及高級(jí)用例。 Kint是一個(gè)強(qiáng)大、現(xiàn)代、零配置的PHP調(diào)試工具。你還在使用var_dump()、print_r()和debug_backtrace()么?你該試試Kint。 showImg(http://segmentfault.com/img/bVbGsT); 安裝使用 require /...
摘要:是一個(gè)開(kāi)放源代碼的程序調(diào)試器即一個(gè)工具,可以用來(lái)跟蹤,調(diào)試和分析程序的運(yùn)行狀況。以下為安裝示例,安裝請(qǐng)參考集成開(kāi)發(fā)和斷點(diǎn)調(diào)試環(huán)境的配置。指令的配置路徑必須是絕對(duì)路徑。 Xdebug是一個(gè)開(kāi)放源代碼的PHP程序調(diào)試器(即一個(gè)Debug工具),可以用來(lái)跟蹤,調(diào)試和分析PHP程序的運(yùn)行狀況。以下為Windows+Phpstorm+Xampp+Xdebug安裝示例,MAC安裝請(qǐng)參考集成開(kāi)發(fā)和斷...
摘要:是所有異常的基類(lèi)。它包含的異常的確是對(duì)象,唯一條件就是必須從類(lèi)繼承。在語(yǔ)句中使用所謂的是一關(guān)系對(duì)類(lèi)的名字和異常對(duì)象做檢查。如果異常在任何地方都沒(méi)能捕獲,那么會(huì)提供最后的機(jī)會(huì)異常處理函數(shù)。 Exception是所有異常的基類(lèi)。 Exception { /* 屬性 */ protected string $message ; protected int $code ...
摘要:是調(diào)試的組件是調(diào)試?yán)?,在日常開(kāi)發(fā)中排錯(cuò)時(shí)其斷點(diǎn)調(diào)試功能非常有幫助使得我們開(kāi)發(fā)者不用依賴于傳統(tǒng)的比較的調(diào)試。并且還有一個(gè)好處通過(guò)我們還可以查看代碼運(yùn)行的邏輯,比如要研究的源碼那么這時(shí)使用,將會(huì)達(dá)到事半功倍的效果。 Introduction xdebug是php調(diào)試的組件,是調(diào)試?yán)?,在日常開(kāi)發(fā)中排錯(cuò)時(shí),其斷點(diǎn)調(diào)試功能非常有幫助,使得我們開(kāi)發(fā)者不用依賴于傳統(tǒng)的var_dump()/ech...
閱讀 2362·2021-11-15 11:37
閱讀 3048·2021-09-01 10:41
閱讀 882·2019-12-27 11:58
閱讀 802·2019-08-30 15:54
閱讀 776·2019-08-30 13:52
閱讀 2987·2019-08-29 12:22
閱讀 1137·2019-08-28 18:27
閱讀 1532·2019-08-26 18:42