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