山東公務員考試網計算機常識-程序的調試
一、基本概念
在對程序進行了成功的測試之后將進入程序調試(通常稱Debug,即排錯)。程序調試的任務是診斷和改正程序中的錯誤。它與軟件測試不同,軟件測試是盡可能多地發現軟件中的錯誤。先要發現軟件的錯誤,然后借助于一定的調試工具去執行找出軟件錯誤的具體位置。軟件測試貫穿整個軟件生命期,調試主要在開發階段。
由程序調試的概念可知,程序調試活動由兩部分組成,其一是根據錯誤的跡象確定程序中錯誤的確切性質、原因和位置。其二,對程序進行修改,排除這個錯誤。
1、 程序調試的基本步驟
(1) 錯誤定位
從錯誤的外部表現形式入手,研究有關部分的程序,確定程序中出錯位置,找出錯誤的內在原因。確定錯誤位置占據了軟件調試絕大部分的工作量。
從技術角度來看,錯誤的特征和查找錯誤的難度在于:
① 現象與原因所處的位置可能相距很遠。就是說,現象可能出現在程序的一個部位,而原因可能在離此很遠的另一個位置。高耦合的程序結構中這種情況更為明顯。
② 當糾正其他錯誤時,這一錯誤所表現出的現象可能會消失或暫時性消失,但并未實際排除。
③ 現象可能并不是由錯誤引起的(如舍入誤差)。
④ 現象可能性是由于一些不容易發現的人為錯誤引起的。
⑤ 錯誤現象可能時有時無。
⑥ 現象是由于難于再現的輸入狀態(例如實時應用中輸入順序不確定)引起的。
⑦ 現象可能是周期出現的。
(2) 修改設計和代碼,以排除錯誤
排錯是軟件開發過程中一項艱苦的工作,這也決定了調試工作是一個具有很強技術性和技巧性的工作。軟件工程人員在分析測試結果的時候會發現,軟件運行失效或出現問題,往往只是潛在錯誤的外部表現,而外部表現與內在原因之間常常沒有明顯的聯系。如果要找出真正的原因,排除潛在的錯誤,不是一件易事。因此可以說,調試是通過現象,找出原因的一個思維分析的過程。
(3) 進行回歸測試,防止引進新的錯誤
因為修改程序可能帶來新的錯誤,重復進行暴露這個錯誤的原始測試或某些有關測試,以確認該錯誤是否被排除、是否引進了新的錯誤。如果所做的修正無效,則撤銷這次改動,重復上述過程,直到找到一個有效的解決辦法為止。
更多精彩資訊請關注查字典資訊網,我們將持續為您更新最新資訊!