首頁 常見問題 正文
聚名企服

軟件調試的任務是什么?

轉載 2022-01-13 10:05:18 6884
軟件調試的目的是:改正錯誤。軟件調試是將編制的程序投入實際運行前,用手工或編譯程序等方法進行測試,修正語法錯誤和邏輯錯誤的過程;它是保證計算機信息系統正確性的必不可少的步驟。

軟件調試的任務是什么?

軟件調試的目的是:改正錯誤。

軟件調試的概念

軟件調試是泛指重現軟件缺陷問題,定位和 查找問題根源,最終解決問題的過程。 軟件調試通常有如下兩種不同的定義:

定義1:

軟件調試是為了發現并排除軟件程序中 的錯誤,可以通過某種方法控制被調試程序的執行過 程,以便隨時查看和修改被調試程序執行狀態的方法。 在該定義中,軟件測試屬于軟件調試的一部分,與 牛津詞典中的調試定義類似。 在牛津詞典中調試定義 為:“識別和排除計算機硬件或軟件中錯誤的過程。”

軟件調試的任務是什么?

定義2:

調試是執行一次成功的測試之后所要進 行的工作。 所謂成功的測試,是指它可以證明程序沒 有實現預期的功能。 調試包含兩個步驟,從執行了一個成功測試用例,發現問題后開始;第一步,確定程序 中可疑錯誤的準確性質和位置;第二步,修改錯誤。 在該定義中軟件測試從調試工作中分離出來。

軟件調試的內涵

軟件調試是將編制的程序投入實際運行前,用手工或編譯程序等方法進行測試,修正語法錯誤和邏輯錯誤的過程。這是保證計算機信息系統正確性的必不可少的步驟。編完計算機程序,必須送入計算機中測試。根據測試時所發現的錯誤,進一步診斷,找出原因和具體的位置進行修正。

調試這個術語可能意味著很多不同的事情,但最字面的意思是,它意味著從代碼中刪除錯誤、異常和bug。現在,有很多方法可以做到這一點。例如,可以通過掃描代碼以查找輸入錯誤或使用代碼分析器進行調試。您可以使用性能分析器調試代碼。或者,可以使用調試器進行調試。

軟件調試的基本過程

按照定義1,軟件系統調試的基本過程如下:

用編輯程序把編制的源程序按照一定的書寫格式送到計算機中,編輯程序會根據使用人員的意圖對源程序進行增、刪或修改。

把送入的源程序翻譯成機器語言,即用編譯程序對源程序進行語法檢查并將符合語法規則的源程序語句翻譯成計算機能識別的“語言”。如果經編譯程序檢查,發現有語法錯誤,那就必須用編輯程序來修改源程序中的語法錯誤,然后再編譯,直至沒有語法錯誤為止。

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

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

按照定義2,軟件系統調試的基本過程如下:

重現問題:重現軟件測試發現的問題;

問題定位:確定可能發生問題的程序段位置;

查找原因:分析相關代碼,確定導致缺陷問題 的內在原因;

設計方案:提出軟件缺陷問題解決方案;

修改代碼:根據設計方案修改程序代碼;

驗證和確認:采用審查、分析和測試等技術來 確定錯誤是否被排除,是否引入了新的錯誤。

上述6個步驟不斷迭代進行,直至問題解決。 軟件調試基本過程如圖1所示:

在這些步驟中,問題定位和查找原因是軟件調試 的關鍵環節,其工作量約占總工作量的90%以上。 軟 件調試是一項既耗時又費力,同時又富有技巧性的工 作。 目前軟件調試中的問題定位研究的比較多。

可以看到,定義一的流程更貼合我們的日常開發測試工作;而定義二的流程更貼合我們測試特別是軟件發布或上線后發現問題的處理相關工作。

軟件調試基本特征廣泛的關聯性需要調試人員有著雄厚的計算機基礎知識(包括操作系統、開發語言、工具等)以及精通面向的業務問題域知識。難度大從"廣泛的關聯性"就可以知道難度大不大了。當然也看面臨的具體問題和調試人員的素質難以預估完成時間這個時間真的是沒法預估,除非某個問題的領域專家和對軟件整體架構及代碼的理解熟悉程度。軟件調試分類按調試目標的系統環境分類:Windows下的軟件調試、Linux下的軟件調試、Dos下的軟件調試等按目標代碼的執行方式分:腳本程序 – 腳本調試器執行編譯的程序: 先編譯為中間代碼,在運行時再動態編譯為當前CPU能夠執行的目標代碼(比如C#開發的.NET程序) – 托管調試 直接編譯和鏈接成目標代碼的程序(C/C++) – 本地調試 兼具以上兩種的 – 混合調試按目標代碼的執行模式分:用戶態調試(User Mode Debugging)、內核態調試(Kernel Mode Debugging);在Windows這樣的多任務操作系統中,作為保證安全和秩序的一個根本措施,系統定義了兩種執行模式,即低特權等級的用戶模式(User Mode)和高特權等級的內核模式(Kernel Mode)。應用程序代碼是運行在用戶模式下的,操作系統的內核、執行體和大多數設備驅動程序是運行在內核模式的。按軟件所處的階段分:開發期調試、產品期調試(分界線是產品的正式發布)按調試器和調試目標的相對位置分:本機提哦啊哈斯、遠程調試按調試目標的活動性分:活動目標調試、轉儲文件調試。

聲明:本文轉載于:互聯網,如有侵犯,請聯系service@Juming.com刪除
相關標簽: 軟件調試

相關文章

相關專題

編輯推薦

  • 域名注冊專題合集 域名注冊專題合集

  • 域名搶注專題合集 域名搶注專題合集

  • 企業建站專題合集 企業建站專題合集

主站蜘蛛池模板: 无码国产午夜福利片在线观看| 日韩AV无码一区二区三区不卡毛片| 中文字幕无码久久精品青草| 国产精品无码av在线播放| 国产成人A亚洲精V品无码| 特级无码毛片免费视频| 无码日韩精品一区二区免费暖暖| 亚洲va成无码人在线观看| 亚洲 无码 在线 专区| 中文字幕av无码一二三区电影| 伊人蕉久中文字幕无码专区| 最新亚洲春色Av无码专区| 亚洲av中文无码乱人伦在线播放 | 精品亚洲A∨无码一区二区三区 | 精品久久亚洲中文无码| 内射人妻少妇无码一本一道 | 亚洲桃色AV无码| 国产精品JIZZ在线观看无码| 最新无码人妻在线不卡| 日韩免费无码一区二区三区| 国产成A人亚洲精V品无码| 少妇无码太爽了不卡视频在线看| 亚洲日韩国产二区无码| 亚洲国产成人精品无码区在线秒播| 国产成人无码精品一区二区三区 | 亚洲自偷自偷偷色无码中文| 人妻系列无码专区久久五月天 | 亚洲AV人无码综合在线观看| 中文无码精品一区二区三区| 国产精品成人一区无码| 国产精品无码久久综合网| 亚洲av无码一区二区三区四区 | 无码任你躁久久久久久老妇| 丰满少妇人妻无码专区| 在线看片无码永久免费aⅴ| 日韩乱码人妻无码中文视频| 亚洲精品无码99在线观看| av无码人妻一区二区三区牛牛| 少妇性饥渴无码A区免费| 国产精品无码久久综合| 98久久人妻无码精品系列蜜桃|