當(dāng)程序沒(méi)有按照預(yù)期運(yùn)行時(shí)博脑,我們大多都會(huì)使用調(diào)試憎乙。每個(gè)開(kāi)發(fā)人員都應(yīng)該學(xué)會(huì)調(diào)試代碼,雖然調(diào)試代碼很困難趋厉。所幸的是寨闹,我們的開(kāi)發(fā)工具很好的繼承了調(diào)試功能,方便我們調(diào)試代碼君账。因此繁堡,了解如何使用調(diào)試功能對(duì)程序員來(lái)說(shuō)至關(guān)重要。這幾個(gè)技巧或許能幫你調(diào)試你的代碼乡数。
- 不要害怕閱讀代碼椭蹄,特別是當(dāng)這段代碼來(lái)自別的地方的時(shí)候。我們應(yīng)該盡可能深入地了解底層應(yīng)用發(fā)生了什么事情净赴,而不是浮于表面的應(yīng)用別人的代碼绳矩。
- 不要懷疑JDK,千萬(wàn)不要認(rèn)為是JDK里面的錯(cuò)誤玖翅。因?yàn)?9%的bug都產(chǎn)生于你正在編寫(xiě)的代碼中翼馆。
- 合理的做出假設(shè),但不要想當(dāng)然金度,因?yàn)槲覀兛赡軙?huì)制造盲點(diǎn)应媚。
- 暫時(shí)離開(kāi)你的工位,等你心平氣和的時(shí)候再來(lái)調(diào)試猜极。比如去倒一杯茶中姜,或者去一趟衛(wèi)生間。
- 不要在自己不知道自己在做什么的情況下去編程跟伏,換言之丢胚,不要用巧合來(lái)解釋問(wèn)題翩瓜。
- 當(dāng)你不確定Java是如何工作時(shí),請(qǐng)參考JDK的官方文檔携龟。
- 合理的使用日志級(jí)別(INFO, DEBUG, ERROR)兔跌。
- 在特定的代碼上面使用斷點(diǎn),即便是再?gòu)?fù)雜的循環(huán)峡蟋,斷點(diǎn)依然是最有效的調(diào)試方式浮定。
- 為部署在生產(chǎn)線上或者其他遠(yuǎn)程環(huán)境的項(xiàng)目設(shè)置遠(yuǎn)程調(diào)試服務(wù)。
- 如果多方面嘗試都無(wú)法解決問(wèn)題层亿,甚至無(wú)法定位到問(wèn)題。那么可以試試換一個(gè)庫(kù)立美,或者換一個(gè)版本匿又。
代碼調(diào)試并不是一件多么困難的事情。靜下心來(lái)一步一步的調(diào)試建蹄,查看每一個(gè)變量碌更,以及每一行代碼帶來(lái)的變量的變化。任何問(wèn)題都將迎刃而解洞慎。
最后別忘了痛单,任何時(shí)候搜索引擎都是你的好朋友。如果你不會(huì)谷歌劲腿,那么就百度一下吧旭绒!