你學會調試程序了嗎?

新手寫代碼的時候難免遇到各式各樣的問題,有的複雜有的簡單,實際上很多問題並不難解決,有些甚至是你粗心大意導致的後果,有這些問題都沒什麼,關鍵是你要學會如何去調試程式,在程式執行過程中遇到問題如何去解決問題,我們來簡單說一下常用的調試方式:

  一、斷點,就是讓我們程式執行一半的時候停止下來,然後我們察看我們定義的變量值是否正確,比如我們人物的座標,地圖的位置等等。在VC下面,你只要簡單的按F9就能輕鬆進行斷點操作,在遇到程式未知錯誤的時候,你甚至可以用這個方法來檢測你程式到底當在哪裏,然後做進一步的錯誤分析。使用這個方法需要注意的是,你的程式最好是在DEBUG模式下進行,雖然可以在Release模式下進行斷點,但畢竟調試信息少了,可能並不利於調試。

  二、信息輸出,就是程式一邊執行,一邊輸出一些信息,當然,這些信息就看你如何設定,用這個方法就可以很及時的瞭解程序內部的數據變化情況,然後監測程式是否按照我們的預想來執行。輸出的方法很多,如:建立一個log文件,然後只要簡單的將調試信息輸出到文件中即可;或者通過VC IDE環境下的Output窗口來進行,可以用OutputDebugString("...")這支函式來進行輸出。

  三、排除法,你實在無法分析哪裏出錯,你就開始註釋,把功能模塊一個一個註釋掉,看哪個模塊出問題,然後再繼續深入細化,雖然這個方法土,但卻非常有效。


常見錯誤:
  一、語法錯誤,這個不用多說,檢察代碼關鍵字拼寫,看看語法有沒有錯誤的地方。

  二、變量未聲明,新人經常會犯這樣的錯誤,一個變量定義的域跟調用它的域不同,從而導致變量非法調用,這個只要留意文件的包含關係應該也是不難解決。

  三、連帶效應,有兩段代碼單獨執行沒問題,但是放在一起很容易出錯,遇到這種情況你就要趕快檢察一下全局變量、函式是否有衝突,注意,有時候這些錯誤並不會體現在編譯的過程,而直接體現在執行過程,甚至有時候會有虛假的“執行正常”。

  四、變量值的有效性,很多時候我們會主管認爲某些變量的值是理所當然的,但往往有些時候,它們的值並非如我們所願,建立有效的變量驗證機制是非常有用和必要的。

  五、合理的算法,但不合理的結果,一些算法看起來簡單,便在腦子裏模擬程式執行,實際上可能並非如此,把算法拆開一步一步將結果輸出,這樣很快就可以找到與你設想不同的地方。

  六、數組越界,我們知道,數組通過下標來對相應的位置進行訪問,如果不注意很容易因爲下標超出你所定義數組的最大值而產生越界操作,這種錯誤查找比較困難,也可能會此錯誤的操作而導致其他地方出錯。

  七、指針溢出,這個是非常容易出現的問題,包括高手也經常會出現這樣的情況,出現這種錯誤非常頭疼,往往要等到程序執行一段時間後才反應出異常,良好的代碼編寫習慣這時候就顯得重要,這個問題就只能靠時間不斷的做檢測來進行除錯。

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