調(diào)試的過程
瀏覽量:2484
調(diào)試不同于測(cè)試,沈陽OA認(rèn)為它們的區(qū)別在于調(diào)試作為測(cè)試的后續(xù)工作主要是解決和排除測(cè)試中出現(xiàn)錯(cuò)誤的工作。
(1)從錯(cuò)誤的外部表現(xiàn)形式入手,確定程序中出錯(cuò)位置;
(2)研究有關(guān)部分的程序,找出錯(cuò)誤的內(nèi)在原因;
(3)修改設(shè)計(jì)和代碼,以排除這個(gè)錯(cuò)誤;
(4)重復(fù)對(duì)修改后的代碼進(jìn)行有關(guān)測(cè)試,以確認(rèn)該錯(cuò)誤是否被排除或者是否引入了新的錯(cuò)誤;
(5)如果所做的修正無效或是引入了新的錯(cuò)誤,則根據(jù)實(shí)際情況決定是否撤銷此次改動(dòng),或是修改新的錯(cuò)誤。不斷重復(fù)上述過程,直到找到一個(gè)有效的解決辦法為止。
沈陽OA認(rèn)為調(diào)試了作是一個(gè)艱難而且漫長(zhǎng)的過程,解決問題的效率一方面取決于軟件人員的技術(shù)水平,另一方面也受人的心理因素影響。從心理因素方面看,調(diào)試的能力因人而異,雖然也含有經(jīng)驗(yàn)造成的差距,但是,對(duì)于有同樣教育背景和工作經(jīng)驗(yàn)的程序員,他們的調(diào)試能力差別也很大。從技術(shù)角度看,查找錯(cuò)誤的難度在于以下幾個(gè)方面:
(1)現(xiàn)象與原因所處的位置可能相距甚遠(yuǎn)。就是說,現(xiàn)象可能出現(xiàn)在程序的一個(gè)部位,而原因可能在離此很遠(yuǎn)的另一個(gè)位置。高鍋合的程序結(jié)構(gòu)中這種情況更為明顯。
(2)當(dāng)部分錯(cuò)誤得到糾正時(shí),這一錯(cuò)誤所表現(xiàn)出的現(xiàn)象可能會(huì)暫時(shí)消失,但并(3)現(xiàn)象實(shí)際上是由一些非錯(cuò)誤原因(例如舍入不精確)引起的。
(4)現(xiàn)象可能是由一些不容易發(fā)現(xiàn)的人為錯(cuò)誤引起的。
(5)錯(cuò)誤是由于時(shí)序問題引起的,與處理過程無關(guān)。
(6)現(xiàn)象是由于難于精確再現(xiàn)的輸入狀態(tài)(例如實(shí)時(shí)應(yīng)用中輸入順序不確定)引起的。
(7)現(xiàn)象可能是周期出現(xiàn)的。在軟、硬件結(jié)合的嵌入式系統(tǒng)中常常遇到。
本文由沈陽OA提供:http://www.bigbenlau.com
上一篇:RSA算法原理
下一篇:軟件調(diào)試的方法