1. 程式人生 > >劉慧斌 廊坊師範學院資訊科技提高班十三期

劉慧斌 廊坊師範學院資訊科技提高班十三期

從我們剛剛開始學習計算機程式設計就已經開始了更調成打交道,軟工視訊上說沒有錯是絕對不可能,只是我們檢查的方法不對,所以除錯也是我們計算機程式設計的一項重要工作,以前的挑錯我們都是一行一行程式碼一步一步慢慢調,雖然也可以,但是一旦程式變大了,我們那種辦法就變得相形見絀了,根據這兩天我看的軟體工程的視訊,今天我們講講在專業角度的程式除錯。以便於我們以後更加系統更快的完成挑錯。

除錯的原則:

1.確定錯誤的性質。

2.確定錯誤的位置。

3.在出現錯誤的地方很可能還有別的錯誤。

4.當修正一個錯誤的時候可能會引入新的錯誤。

 除錯的步驟:

1.從錯誤的外部表現形式入手,確定程式中出錯的位置.

2.研究有關部分的程式,找出錯誤的內在原因。

3.修改設計和程式碼,以排除這個錯誤。

4.重複進行暴露了這個錯誤的原始測試或某些有關測試。

上面說了一下除錯的一些中心思想,下面我們來介紹幾種除錯的具體方法。

強行排錯

這種除錯方法也就是我們常用的除錯辦法,目前使用的比較多,但是效率低。它不需要過多的思考,比較省腦筋,但是太慢,別的辦法不能快速的找到錯的時候我就需要用這種辦法。

回溯法除錯

這是在小程式中常用的一種有效的除錯方法,一旦發現錯誤人們先分析錯誤的徵兆,確定最先發現症狀的位置。也就從出錯的地點往回找,慢慢分析從原點出發。這同樣也是一個需要思考的過程。它常用於小型程式中來定位錯誤。它是沿著程式的邏輯結構回溯不正確的結果,直到找出程式邏輯錯誤的位置,即:從程式產生不正確結果的地方開始,從該處觀察到的結果推斷出程式變數應該是些什麼值。所以使用這個過程,可以確定程式中從狀態符合預期的位置點,到第一個狀態不符合預期值的位置點之間的範圍。 

歸納法除錯,是一個需要思考的過程。歸納,是一種特殊的思考過程,可以從細節轉到全域性,

即:收集出錯的資訊,列出資料,包括輸入,輸出,歸納整理,發現規律,從線索除法,尋找線索之間的聯絡。也就

意味著:從特殊到一般。歸納除錯的步驟可以概括為以下一個圖,在此就不再詳敘。


what 列出一般現象

where 說明發生現象的地點

when 列出現象發生是所有已知情況

how 說明現象的範圍和量級

這也是比較著名的3w1h形式。歸納發的關鍵是提出假設,證明假設,能解釋說明正確,不能就說明有問題。、

演繹法除錯

演繹法是一種從一般原理或前提出發,經過排除和精化得過程來推到出的結論的思考方法。下面用一張圖給大家看一下。

希望大家在看完我這篇部落格後,以後再除錯的時候可以規範化除錯。