調試心得

如果你是程序員,調試將是你職業生涯的重要過程。調試可以幫我們找到自己的錯誤,看清別人的代碼。其重要性不言而喻。以前在一個公司做過,項目組長經常在沒有什麼緊急任務的時候,把以前系統中出現過的一些Bug,讓我們進行調試。有人說,這是體力活,學不到什麼實質的東西,例如核心算法和數據結構。他可能說對了一部分,但另一方面是,優秀的算法是離不開調試的。幾乎沒有一個好的算法,是在紙上寫寫,不需要到計算機上進行調試和模擬的。既然如此,下面我就說說調試的一些經驗,僅供參考,歡迎拍磚。

首先,耐心。這是非常重要的,永遠不要對出現的錯誤抱有僥倖的心理,希望兩三分鐘或者兩三小時可以解決。只有做最壞的打算,纔會在一遍一遍失敗之後,而仍然抱有成功的希望。記得以前調試一個多核模擬器的時候,在Unbuntu上搭建環境,出現了很多錯誤,在網上查了很多東西,都沒有解決,連死的心都有。後來我就不關心它了,轉而幹別的。在這個過程中,我又試着把模擬器安裝在其它多個Linux發行版上面,如CentOS,Fedora和Debian。出現錯誤,我就上網查資料,解決一段時間不行,就換一個Linux操作系統試試。最後,歷時將近兩個月,終於把環境搭建成功。(可見,我也是很笨的呀!)

其次,一定要對你調試的東西,有個大範圍的瞭解。這樣是確保犯一些低級的錯誤。因爲我們調試的時候,往往是從錯誤的現象出發,去找可能的原因。有時候這個錯誤現象反映的問題,並不能直擊問題的核心。要經常問自己,“這個系統或者這個軟件,正常運行,必需要做到哪幾點?”,然後,逐個驗證這幾點。

再者,順藤摸瓜,抽絲剝繭。這是直觀的方法,從錯誤出發,上網查找資料,幸運的話可以直接找到解決問題的方法。採用這種方法,一定要保證思路清晰。從問題出發,考慮可能導致問題的一些因素。用筆寫下來,是一個良好的習慣,永遠不要對自己的記憶力過於相信。

最後,要將調試中遇到的問題和經驗,隨時記錄下來。我覺得博客就是一個很好的地方,既可以整理和總結自己的思路,也可以與別人分享和交流。助人爲樂,何樂不爲!

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章