更新時(shí)間:2017年11月16日16時(shí)23分 來源:傳智播客 瀏覽次數(shù):
1、二分法定位
什么是二分定位法呢,舉個(gè)例子,我寫了一個(gè)一萬行的函數(shù)然后崩潰了,而且由于某些神奇的原因VC++就是不告訴我崩在了哪里,那怎么辦呢?我先注釋掉后面一半的代碼,然后崩潰了,就證明蹦在這里了,如果沒崩潰,就證明崩在了后面。于是你立刻就把范圍縮小了一半。剩下如法炮制,直到定位到一行為止。
二分法定位是比較常用的bug處理技巧。通過二分法,不斷地進(jìn)行排錯(cuò),完全能把問題可能出現(xiàn)的范圍縮小。二分調(diào)試大法每次遇到棘手的bug,基本上都能解決,堪稱是程序行走代碼江湖必備秘技。
2、IDE自帶的debug功能
IDE可以用查看一些復(fù)雜數(shù)據(jù)結(jié)構(gòu)的賦值,debug效果也是杠杠滴。
3、討論
處理bug的過程,最難的不是怎么解決問題,而是如何定位代碼的bug。一旦我們找到了 Bug,解決方案就呼之欲出了。我們有時(shí)候不妨采用和同事討論的方法,盡管他未必熟悉代碼,但是每次遇到棘手的bug。特別是處理比較棘手的bug,有時(shí)候是沒有必要孤軍奮戰(zhàn)的。
4、print_r()或var_dump()
print_r()或var_dump()大法即通過這個(gè)函數(shù)輸出函數(shù)中值得懷疑的變量的值。事實(shí)證明,大多數(shù)程序用這個(gè)方法都是相當(dāng)有效的。
5、重寫一遍
大部分的bug,其實(shí)都是typo。如果你覺得代碼實(shí)在是一團(tuán)糟,那么推翻重來未必不可。要想不被萬惡的代碼虐殺,我們在必要的時(shí)候,也可以使用必殺技—重寫代碼!
本文版權(quán)歸傳智播客PHP學(xué)院所有,歡迎轉(zhuǎn)載,轉(zhuǎn)載請注明作者出處。謝謝!
作者:傳智播客PHP培訓(xùn)學(xué)院
首發(fā):http://xamj520.com/php/
北京校區(qū)