版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、魏瑩瑩 12123247 對于任何一個天才都不敢說自己編的程序是完全正確的。因此幾乎每一個稍微復(fù)雜點的程序都必須經(jīng)過反復(fù)的調(diào)試,修改,最終才完成。所以說程序的調(diào)試是編程中一項重要技術(shù)。軟件調(diào)試,是在測試發(fā)現(xiàn)錯誤之后診斷并排除錯誤的過程調(diào)試的主要任務(wù)有兩項:一是確定程序中錯誤的確切性質(zhì)和位置二是對程序進行修改,排除錯誤。調(diào)試,也稱為糾錯,作為成功測試的后果出現(xiàn)。也就是說,調(diào)試是在測試發(fā)現(xiàn)錯誤之后排除錯誤的過程。簡單的說,調(diào)試的目的是確定錯誤的原因和位置,并改正錯誤。調(diào)試是程序員自己進行的技巧性很強的工作,要確定發(fā)生錯誤的內(nèi)在原因和位置不是一件容易的事,它占整個調(diào)試工作量的90%左右。調(diào)試工作需要
2、繁重的腦力勞動和豐富的經(jīng)驗。與測試比較,調(diào)試技術(shù)缺乏系統(tǒng)的理論研究,因此介紹的調(diào)試方法多是實踐中的經(jīng)驗積累。調(diào)試工作是一個具有很強技巧性的工作。軟件運行失效或出現(xiàn)問題,往往只是潛在錯誤的外部表現(xiàn),而外部表現(xiàn)與內(nèi)在原因之間常常沒有明顯的聯(lián)系。如果要找出真正的原因,排除潛在的錯誤,不是一件易事。因此可以說調(diào)試是涌過現(xiàn)象,找出原因的一個思維分析的過程。(1)從錯誤的外部表現(xiàn)形式入手,確定程序中出錯位置;(2)研究有關(guān)部分的程序,找出錯誤的內(nèi)在原因;(3)修改和設(shè)計代碼,以排除這個錯誤。(4)重復(fù)進行暴露了這個錯誤的原始測試或某些有關(guān)測試。(1)現(xiàn)象和原因所處的位置可能相距甚遠。(2)當其他錯誤得到糾
3、正時,這一錯誤所表現(xiàn)出的現(xiàn)象可能會暫時消失,但并未實際排除。(3)現(xiàn)象實際上是由一些非錯誤原因(例如,舍入不精確)引起的。(4)現(xiàn)象可能是由于一些不容易發(fā)現(xiàn)的認為錯誤引起的。(5)錯誤是由于時序問題引起的,與處理過程關(guān)。(6)現(xiàn)象是由于難于精確再現(xiàn)的輸入狀態(tài)(例如,實時應(yīng)用中輸入順序不確定)引起。(7)現(xiàn)象可能是周期出現(xiàn)的。在硬軟件結(jié)合的嵌入式系統(tǒng)中常常遇到。個人自尊從中阻撓熱情耗盡可能迷失方向必須自力更生動態(tài)調(diào)試和靜態(tài)調(diào)試所謂靜態(tài)調(diào)試就是在程序編寫完以后,由人工“代替”“模擬”計算機,對程序進行仔細檢查,主要檢查語法規(guī)則和邏輯結(jié)構(gòu)的正確性。通過靜態(tài)調(diào)試,可以大大縮短上機調(diào)試時間,提高上機效率
4、。動態(tài)調(diào)試就是實際上機調(diào)試,它貫穿在編譯,連接,運行的整個過程。根據(jù)當時錯誤信息進行調(diào)試,這是程序調(diào)試中最常用的方法,也是最初步的動態(tài)調(diào)試。在此基礎(chǔ),用分段隔離,設(shè)置斷點,跟蹤打印進行程序的調(diào)試。但是應(yīng)用任一種方法之前,都應(yīng)當對錯誤的征兆進行全面徹底的分析,得出出錯位置及錯誤性質(zhì)的推測,再使用一種適當?shù)恼{(diào)試方法來檢驗推測的正確性。強行排錯這種調(diào)試方法效率較低。不需要過多思考。例如通過內(nèi)存全部打印來調(diào)試,在這大量的數(shù) 據(jù)中尋找出錯的位置在程序特定部位位置打印語句,把打印語句插在出錯的源程序各個關(guān)鍵變量改變部位,重要分支部位等,監(jiān)視重要變量的變化。自動調(diào)試工具。利用某些程序語言調(diào)試功能或?qū)iT的交互
5、式調(diào)試工具,分析程序動態(tài)過程,而不必修改程序。忽略了思考的過程調(diào)試程序和偵破謀殺案有相似處需要仔細分析線索,而不是使用蠻力的方法。適用:1.其他方法都失敗了 2.或作為其他方法的補充而不是替代這是在小程序中常用的一種有效調(diào)試方法。發(fā)現(xiàn)錯誤,先分析錯誤征兆,確定最先發(fā)現(xiàn)癥狀的位置,然后,人工沿程序的控制流程,向回追蹤源程序代碼,直到找到錯誤根源或確定錯誤產(chǎn)生的范圍。例如,程序中發(fā)現(xiàn)錯誤處是某個打印語句。通過輸出值可推斷程序在這一點上變量的值。再從這一點出發(fā),回溯程序的執(zhí)行過程,反復(fù)考慮“如果程序在這一點上的狀態(tài)(變量的值)是這樣,那么程序在上一點的狀態(tài)一定是這樣”直到找到錯誤的位置。歸納法是一種
6、從特殊推斷一般的系統(tǒng)化思考方法。歸納法調(diào)試的基本思想是:從一些線索(錯誤征兆)著手,通過分析它們的關(guān)系來找出錯誤收集有關(guān)數(shù)據(jù) 列出所有已知測試用例和程序執(zhí)行結(jié)果??茨男┹斎霐?shù)據(jù)的運行結(jié)果是正確的,哪些輸入數(shù)據(jù)的運行結(jié)果有誤。組織數(shù)據(jù)由于是從特殊到一半的推斷過程,所以需要組織整理數(shù)據(jù),來發(fā)現(xiàn)規(guī)律常用3W1H形式What列出一般現(xiàn)象Where說明發(fā)現(xiàn)現(xiàn)象的地點Whenl列出現(xiàn)象發(fā)生時所有已知情況How說明現(xiàn)象的范圍和量級演繹法是一種從一般原理或前提出發(fā),經(jīng)過排除和精化的過程來推導(dǎo)出結(jié)論的思考方法。演繹排錯法是測試人員首先根據(jù)已有的測試用例,設(shè)想及枚舉出所有可能出錯的原因作為假設(shè);然后再用原始測試數(shù)
7、據(jù)或新的測試,從中逐個排除不可能正確的假設(shè);最后再用測試數(shù)據(jù)驗證余下的假設(shè)確是出錯的原因。列舉所有可能出錯原因的假設(shè)把所有可能錯誤原因列成表,可以組織,分析現(xiàn)有數(shù)據(jù)。利用已有的測試數(shù)據(jù),排除不正確的假設(shè)仔細分析已有的數(shù)據(jù),尋找矛盾,力求排除前一步列出的所有原因。改進余下的假設(shè)利用已知線索,進一步改進余下的假設(shè),使之更具體化,以便精確的確定出錯位置證明余下的假設(shè)用來縮小錯誤的范圍在程序中點附近“注入”變量的正確值,運行程序并檢查所得到的輸出。如果輸出結(jié)果是正確的,則錯誤原因在程序前半部分,反之在后半部分對于程序中有故障的那部分再重復(fù)使用這個方法,直到把故障范圍縮小到容易診斷的程度為止原因排除法包括:對分查找法,歸納法,演繹法使
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2012年高考語文試卷(安徽)(空白卷)
- 《離子濃度大小比較》課件
- 挑戰(zhàn)與突破自我
- 探索物理定律的奧秘
- 《痛苦的職場人》課件
- 工作調(diào)研報告(合集三篇)
- 2023年項目部安全管理人員安全培訓(xùn)考試題附參考答案(達標題)
- 2023年項目部安全管理人員安全培訓(xùn)考試題(1套)
- 母親節(jié)新媒體策劃
- 初中語文教師教學工作總結(jié)11篇
- 墩柱施工操作平臺相關(guān)計算
- 高職院校油層物理說課
- 計算機課件:計算機安全
- SCH壁厚等級對照表
- 道路減速帶減速模型分析
- 35kv及以下架空線路施工及驗收規(guī)范
- 身體健康狀況自測表
- PID控制原理與調(diào)整方法
- 山東昌樂二中“271高效課堂”解讀
- 配電工程竣工資料
- 花鍵強度校核程序
評論
0/150
提交評論