語言 :
SWEWE 會員 :登錄 |註冊
搜索
百科社區 |百科問答 |提交問題 |詞彙知識 |上傳知識
上一頁 1 下一頁 選擇頁數

程序調試

概述

含義

程序調試,是將編制的程序投入實際運行前,用手工或編譯程序等方法進行測試,修正語法錯誤和邏輯錯誤的過程。這是保證計算機信息系統正確性的必不可少的步驟。編完計算機程序,必須送入計算機中測試。

任務

根據測試時所發現的錯誤,進一步診斷,找出原因和具體的位置進行修正。 [1]

步驟

第一步,用編輯程序把編制的源程序按照一定的書寫格式送到計算機中,編輯程序會根據使用人員的意圖對源程序進行增、刪或修改。第二步,把送入的源程序翻譯成機器語言,即用編譯程序對源程序進行語法檢查並將符合語法規則的源程序語句翻譯成計算機能識別的“語言”。如果經編譯程序檢查,發現有語法錯誤,那就必須用編輯程序來修改源程序中的語法錯誤,然後再編譯,直至沒有語法錯誤為止。

第三步,使用計算機中的連接程序,把翻譯好的計算機語言程序連接起來,並扶植成一個計算機能真正運行的程序。在連接過程中,一般不會出現連接錯誤,如果出現了連接錯誤,說明源程序中存在子程序的調用混亂或參數傳遞錯誤等問題。這時又要用編輯程序對源程序進行修改,再進行編譯和連接,如此反復進行,直至沒有連接錯誤為止。

第四步,將修改後的程序進行試算,這時可以假設幾個模擬數據去試運行,並把輸出結果與手工處理的正確結果相比較。如有差異,就表明計算機的程序存在有邏輯錯誤。如果程序不大,可以用人工方法去模擬計算機對源程序的這幾個數據進行修改處理;如果程序比較大,人工模擬顯然行不通,這時只能將計算機設置成單步執行的方式,一步步跟踪程序的運行。一旦找到問題所在,仍然要用編輯程序來修改源程序,接著仍要編譯、連接和執行,直至無邏輯錯誤為止。也可以在完成後再進行編譯。

原則

一,用頭腦去分析思考與錯誤徵兆有關的信息。

二,避開死胡同。

三,只把調試工具當做手段。利用調試工具,可以幫助思考,但不能代替思考,因為調試工具給的是一種無規律的調試方法。

四,避免用試探法,最多只能把它當做最後手段。

五,再出現錯誤的地方,可能還有別的錯誤。

六,修改錯誤的一個常見失誤是只修改了這個錯誤的徵兆或這個錯誤的表現,而沒有修改錯誤本身。如果提出的修改不能解釋與這個錯誤有關的全部線索,那就表明只修改了錯誤的一部分。

七,注意修正一個錯誤的同時可能會引入新的錯誤。

八,修改錯誤的過程將迫使人們暫時回到程序設計階段。修改錯誤也是程序設計的一種形式。

九,修改源代碼程序,不要改變目標代碼。 [1]

方法

一,簡單調試方法:步驟

1,在程序中插入打印語句、優點是能夠顯示程序的動態過程,比較容易檢查源程序的有關信息。確定是效率低,可能輸入大量無關的數據,發現錯誤帶有偶然性。

2,運行部分程序。有時為了測試某些被懷疑有錯的程序段,卻將整個程序反复執行許多次,在這種情況下,應設法使被測程序只執行需要檢查的程序段,以提高效率。

3,借助調試工具。目前大多數程序設計語言都有專門的調試工具,可以用這些工具來分析程序的動態行為。

二,回溯法排錯。確定最先發現錯誤症狀的地方,人工沿程序的控制流往回追踪源程序代碼,直到找到錯誤或範圍。

三,歸納法排錯。是一種系統化的思考方法,是從個別推斷全體的方法,這種方法從線索(錯誤徵兆出發),通過分析這些線索之間的關係找出故障。主要有4步:

(1)收集有關數據。收集測試用例,弄清測試用例觀察到哪些錯誤徵兆,以及在什麼情況下出現錯誤等信息。

(2)組織數據。整理分析數據,以便發現規律,即什麼條件下出現錯誤,什麼條件下不出現錯誤。

(3)導出假設。分析研究線索之間的關係,力求找出它們的規律,從而提出關於錯誤的一個或多個假設,如果無法做出假設,則應設計並執行更多的測試用例,以便獲得更多的數據。


上一頁 1 下一頁 選擇頁數
用戶 評論
還沒有評論
我要評論 [遊客 (44.204.*.*) | 登錄 ]

語言 :
| 校驗代碼 :


搜索

版权申明 | 隐私权政策 | 版權 @2018 世界百科知識