《程序調(diào)試的方法》教學課件2_第1頁
《程序調(diào)試的方法》教學課件2_第2頁
《程序調(diào)試的方法》教學課件2_第3頁
《程序調(diào)試的方法》教學課件2_第4頁
《程序調(diào)試的方法》教學課件2_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

程序調(diào)試的方法2024/8/19VisualBasicProgramming1程序調(diào)試的基本概念

在程序設(shè)計的過程中,不可避免地會發(fā)生這樣那樣的錯誤。程序調(diào)試就是對程序進行測試,查找程序中隱藏的錯誤并將這些錯誤修正或排除。VB提供了很強的程序調(diào)試的手段。

語法錯誤是指由于違反了語言有關(guān)語句形式或使用規(guī)則而產(chǎn)生的錯誤。例如:語句定義符拼錯、內(nèi)置常量名拼錯、變量名定義錯、沒有正確地使用標點符號、分支結(jié)構(gòu)或循環(huán)結(jié)構(gòu)語句的結(jié)構(gòu)不完整或不匹配等。

錯誤類型

在VB程序設(shè)計中所產(chǎn)生的錯誤通常可分作三類:語法錯誤、運行錯誤、邏輯錯誤語法錯誤VB提供了一個自動語法檢查選項,如果設(shè)定本選項,就能

在輸入代碼時自動檢測和改正語法錯誤。屬于語句使用形式的語法錯誤,在一行代碼輸入完,準備輸入下一行時,系統(tǒng)即可檢測到,并將錯誤加亮顯示,并顯示一個消息框,在消息框中對錯誤作出解釋以幫助編程者改正錯誤;而違反語法規(guī)則而產(chǎn)生的錯誤,則會在運行程序代碼時,被快速檢測,且也會立即給出相關(guān)的出錯信息。

語法錯誤常見的編譯錯誤有:(1)標點符號錯(程序中只能使用西文標點);關(guān)鍵字輸入錯(例:Dim寫成Din);一行語句沒有寫完整等(2)對象名稱(Name屬性)寫錯;(3)對象的屬性名、方法名,內(nèi)部函數(shù)名寫錯;(4)變量未定義或變量名寫錯(可在通用聲明段加OptionExplicit,采用變量顯式聲明);常見的編譯錯誤有:(5)塊If沒有對應(yīng)的EndIf語句;For循環(huán)沒有對應(yīng)的Next語句;Do循環(huán)沒有對應(yīng)的Loop語句等,這類錯誤當VB開始運行時提示出錯信息,且將出錯位置用反色顯示運行錯誤運行錯誤是由于試圖執(zhí)行一個不可進行的操作而引起的。比如使用一個不存在的對象或使用一個某些關(guān)鍵屬性沒有正確設(shè)置的對象等。

對于運行錯誤,系統(tǒng)也會在檢測到后,給出相應(yīng)的錯誤信息,并中止程序的運行。

VB在運行代碼時指令代碼執(zhí)行了一非法操作引起的誤指。例如,除法時分母為零,被操作的驅(qū)動器未準備好或磁盤讀寫有錯?;驍?shù)組下標超界、數(shù)據(jù)溢出、類型不匹配、試圖打開一個不存在的文件。運行出錯也將彈出一個子窗口,提示出錯信息。邏輯錯誤邏輯錯誤是由于編寫的程序代碼,不能實現(xiàn)預定的處理功

能要求而產(chǎn)生的錯誤。要實現(xiàn)既定的數(shù)據(jù)處理功能,必須依據(jù)一定的“算法”,即由算法規(guī)定的處理方法與步驟。如果所編寫的程序代碼,違反了算法,盡管沒有任何語法錯誤,也沒有執(zhí)行任何非法操作,得到的結(jié)果卻是錯誤的。

邏輯錯誤也有可能引起運行錯誤。

對于邏輯錯誤,系統(tǒng)無法自動檢測。只能由用戶通過測試,來驗證結(jié)果的正確性。如果結(jié)果有誤,則應(yīng)檢查是否有邏輯錯誤存在,并加以排除。

設(shè)置自動語法檢查設(shè)置自動語法檢查的方法是:

在VB集成開發(fā)環(huán)境中,打開“工具”菜單,再單擊“選項”命令,并在打開的對話框中選擇“編輯器”標簽(右圖),在“代碼設(shè)置”欄中選中“自動語法檢測”即可。

VB調(diào)試工具VB提供了一個專用于程序調(diào)試的工具欄。如果該工具欄不可見,則只要在任何工具欄上單擊鼠標右鍵,在彈出式菜單中單擊“調(diào)試”即可。

下圖是調(diào)試工具欄中的調(diào)試工具按鈕圖??衫冒粹o運行要測試的程序、中斷程序運行、在程序中設(shè)置斷點、監(jiān)視變量(取值)、單步調(diào)試、過程跟蹤等,以查找并排除代碼中存在的邏輯錯誤。各個按鈕的功能圖標按鈕名功能啟動從啟動窗體開始,運行程序,所有變量初始化中斷中斷程序運行,并使其進入中斷模式結(jié)束停止程序運行,并返回設(shè)計態(tài)切換斷點創(chuàng)建或刪除斷點,斷點是程序中VB停止執(zhí)行的地方逐語句(調(diào)試)執(zhí)行程序的下一行代碼,單步執(zhí)行后續(xù)的每個代碼行,如果調(diào)用了其他過程,則單步執(zhí)行該過程的每一行逐過程(調(diào)試)執(zhí)行程序的下一行代碼,單步執(zhí)行后續(xù)的每個代碼行,如果調(diào)用了其他過程,則完整執(zhí)行該過程,然后繼續(xù)單步執(zhí)行跳出執(zhí)行完當前過程的所有余下代碼后,在調(diào)用本過程的代碼的下一行中斷執(zhí)行本地窗口顯示局部變量的當前值立即窗口顯示立即窗口,在立即窗口可在中斷模式下執(zhí)行代碼或查詢變量值監(jiān)視窗口顯示監(jiān)視窗口,在監(jiān)視窗口可顯示選定的表達式的值快速監(jiān)視在中斷模式下,可顯示光標所在位置的表達式的當前值,該表達式還可快速添加到監(jiān)視窗口調(diào)用堆棧(列表)可彈出一個對話框顯示所有已被調(diào)用且尚未結(jié)束的過程中斷狀態(tài)的進入與退出程序在執(zhí)行的中途被停止,稱為“中斷”。進入中斷狀態(tài)一般有以下四種方式:1)程序運行中由于發(fā)生運行錯誤而進入中斷狀態(tài);2)程序在運行中因為用戶單擊Ctrl+Break鍵或使用“Run”(運行)菜單中的“中斷”命令而進入中斷狀態(tài);中斷狀態(tài)的進入與退出程序在執(zhí)行的中途被停止,稱為“中斷”。進入中斷狀態(tài)一般有以下四種方式:3)當程序執(zhí)行到斷點處時而進入中斷狀態(tài);4)在采用單步調(diào)試方式每運行一個可執(zhí)行代碼行后,即進入中斷狀態(tài)。通過使用“運行”菜單中的“繼續(xù)”命令、“結(jié)束”命令或“重新啟動”命令,可退出中斷狀態(tài)。斷點設(shè)置和取消“斷點”通常按排在程序代碼中能反映程序執(zhí)行狀況的部位。VB程序一般都由若干個過程組成。在某些過程中設(shè)置斷點,就可對相關(guān)的過程進行跟蹤檢查,從而保證程序每個組成部分的正確性。斷點設(shè)置和取消打開代碼窗口,將光標指向作為斷點的代碼行,然后使用“調(diào)試”菜單中的“切換斷點”命令或直接單擊調(diào)試工具欄上的“切換斷點”按鈕即可。被設(shè)置為斷點的代碼行將加粗反白顯示。如圖。斷點設(shè)置和取消取消斷點的方法,也是將光標指向定為斷點的代碼行,再使用和設(shè)置斷點同樣的操作。如果要取消程序中所有的斷點,則可使用“調(diào)試”菜單中的“清除所有斷點”命令。單步調(diào)試

單步調(diào)試即逐個語句或逐個過程的執(zhí)行程序,每執(zhí)行完一個語句或一個過程,就發(fā)生中斷,因此可逐個語句或逐個過程地檢查每個語句的執(zhí)行狀況或每個過程的執(zhí)行結(jié)果。

單步語句調(diào)試使用“調(diào)試”菜單中的“逐語句”命令或單擊工具欄上的“逐語句”調(diào)試按鈕,即可進行單步調(diào)試。也可采用快捷鍵F8進行操作。每按一次F8鍵,程序就執(zhí)行一個語句,在代碼窗口,標

志下一個要執(zhí)行的語

句的箭頭和彩色框也

隨之移向下一語句,

如圖。

單步語句調(diào)試每執(zhí)行一個代碼行,系統(tǒng)就進入中斷狀態(tài),即可通過立即窗口檢查語句的執(zhí)行情況。如圖,是在單步調(diào)試過程中使用立即窗口的情況。

當單步語句調(diào)試要執(zhí)行的下一個語句是另一個過程時,系統(tǒng)會自動轉(zhuǎn)向該

過程去執(zhí)行。

單步過程調(diào)試當可以確認某些過程不存在

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論