山東公務員考試網計算機常識-軟件調試方法
調試的關鍵在于推斷程序內部的錯誤位置及原因。從是否跟蹤和和執行程序的角度,類似于軟件測試,軟件調試可以分為靜態調試和動態調試。軟件測試中講座的表態分析方法同樣適用靜態調試。靜態調試主要指通過人的思維來分析源程序代碼和排錯,是主要的調試手段,而動態調試是輔助靜態調試的。主要的調試方法可以采用:
1、強行排錯法
① 通過內存全部打印來排錯。
② 在程序特定部位設置打印語句——即斷點法。輸出存儲器內容,就是在程序執行到某一行的時候,計算機自動停止運行,并保留這時各變量的狀態,方便檢查,校對。
③ 自動調試工具。其功能是設置斷點,當程序執行到某個特定的語句或某個特定的變量值改變是地,程序暫停執行。程序可在終端上觀察程序此時的狀態。
應用以上任何一種技術之前,都應當對錯誤的征兆進行全面徹底的分析,得出對出錯位置及錯誤性質的推測,再使用一種適當的排錯方法來檢驗推測的正確性。
2、回溯法
該方法適合于小規模程序的排錯。即一旦發現了錯誤,先分析錯誤征兆,確定最先發現“癥狀”的位置。然后,從發現“癥狀”的地方開始,沿程序的控制流程,逆向跟蹤源程序代碼,直到找到錯誤根源或確定錯誤產生的范圍。
3、 原因排除法
原因排除法是通過演繹和歸納,以及二分法來實現的。
演繹法是一種從一般原理或前提出發,經過排除和精化的過程來推導出結論的思考方法。演繹法排錯是測試人員首先根據已有的測試用例,設想及枚舉出所有可能出錯的原因作為假設。然后再用原始測試數據或新的測試,從中逐個排除不可能正確的假設。最后,再用測試數據驗證余正氣假設確定出錯的原因。
歸納法是一種從特殊扒斷出一般的系統化思考方法。其基本思想是從一些線索(錯語征兆或與錯誤發生有關的數據)著手,通過分析尋找到潛在的原因,從而找出錯誤。
二分法實現的基本思想是,如果已知每個變量在程序中若干個關鍵點的正確值,則可以使用宣傳語句(如賦值語句、輸入語句等)在程序中的某點附近給這些變量賦正確值,然后運行程序并檢查程序的輸出。如果輸出結果是正確的,則錯誤原因在程序的前半部分;反之,錯誤原因在程序的后半部分。對錯誤原因所在的部分重復使用這種方法,直到將出錯范圍縮小到容易診斷的程序為止。
需要注意的一個實際問題是,調試的成果是排錯,為了修改程序中錯誤,往往會采用“補丁程序”來實現,而這種做法會引起整個程序質量的下降,但是從目前程序設計發展的狀況看,對大規模的程序的修改和質量保證,又不失為一種可行的方法。
更多精彩資訊請關注查字典資訊網,我們將持續為您更新最新資訊!