版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
第一三章程序調(diào)試與錯誤處理
目錄一三.一錯誤類型一三.二代碼調(diào)試一三.三錯誤處理一三.一錯誤類型
VisualBasic程序設(shè)計常見地錯誤類型可以分為三種:語法錯誤(SyntaxErrors),運行錯誤(RunTimeErrors)及程序邏輯錯誤(LogicErrors)。一三.一錯誤類型
一.語法錯誤語法錯誤是指在編譯時出現(xiàn)地錯誤,是最常見地一種錯誤類型。它主要是由于代碼編寫時不符合VB地語法要求引起地,比如拼錯關(guān)鍵字,丟失關(guān)鍵字,非法標(biāo)點符號與遺漏了標(biāo)點符號,函數(shù)調(diào)用時一些需要配對地關(guān)鍵字沒有成對出現(xiàn)等。VisualBasic應(yīng)用程序在編譯時會自動檢測是否存在語法錯誤。如果發(fā)現(xiàn)了這類錯誤,會紅色高亮顯示發(fā)生錯誤地語法行,提示程序員行更正。一三.一錯誤類型
二.運行錯誤運行錯誤時指應(yīng)用程序在運行期間執(zhí)行了非法操作或數(shù)據(jù)庫連接有問題等情況,就會導(dǎo)致運行錯誤。發(fā)生這類錯誤地程序一般語法沒有錯誤,編譯能夠通過,只有在運行時才出錯,例如類型不匹配,除數(shù)為零,訪問不存在地文件,數(shù)組地下標(biāo)越界等。出現(xiàn)錯誤時,程序會自動斷,同時給出相應(yīng)地錯誤提示信息。一三.一錯誤類型
三.邏輯錯誤邏輯錯誤指地是程序可以正常執(zhí)行,但是無法得到用戶所希望地結(jié)果。這并不是程序語句地錯誤,而是由于程序設(shè)計時本身存在邏輯缺陷所致。例如定義了錯誤地變量類型,或者在程序出現(xiàn)了不正確地循環(huán)次數(shù)或死循環(huán)等等。大多數(shù)邏輯錯誤不容易發(fā)覺是在哪一條語句發(fā)生地,而卻錯誤產(chǎn)生地原因與產(chǎn)生錯誤結(jié)果地語句之間可能隔有多條語句,因而難以發(fā)現(xiàn)。VisualBasic提供了程序調(diào)試功能以便程序員能夠查找該類錯誤地根源。一三.二代碼調(diào)試
一三.二.一VisualBasic三種模式一三.二.二調(diào)試工具一三.二.三調(diào)試窗口一三.二.四調(diào)試方法一三.二.一VisualBasic三種模式
VisualBasic具有集程序編輯,解釋與運行于一體地集成環(huán)境。按其工作狀態(tài)可分為三種模式:設(shè)計模式,運行模式及斷模式。一.設(shè)計模式設(shè)計模式是代碼在編寫過程所在地模式。在該模式下,可以行程序地界面與代碼編寫。在此階段,根絕設(shè)計目地地不同,不同地代碼被寫在相應(yīng)地模塊里。當(dāng)要執(zhí)行一個程序時,可以單擊"運行"菜單地"開始"命令,或者按F五功能鍵。當(dāng)程序處于設(shè)計模式時,除了可以設(shè)置斷點與創(chuàng)建監(jiān)視表達式外,不能使用其它調(diào)試工具。一三.二.一VisualBasic三種模式
二.運行模式當(dāng)代碼編寫完成后就入了運行模式,在運行模式下,程序處于運行狀態(tài),此時可以查看程序代碼或者與應(yīng)用程序?qū)υ?但不能修改程序。單擊"運行"菜單地"結(jié)束"命令可以使之由運行狀態(tài)轉(zhuǎn)到設(shè)計狀態(tài)。用"運行"菜單地"斷"命令或者按下Ctrl+Break組合鍵就入了斷模式。一三.二.一VisualBasic三種模式
三.斷模式斷模式使運行地程序處于掛起狀態(tài)。一旦發(fā)生了錯誤,就應(yīng)入斷模式來調(diào)試代碼。在此模式下,可以使用各種調(diào)試工具,如設(shè)置斷點,改變某變量地值,觀察某變量地值等,以便發(fā)現(xiàn)或者更正錯誤。一三.二.一VisualBasic三種模式
以下情況地發(fā)生時都會使程序自動地入斷模式:
(一)語句產(chǎn)生運行時錯誤。
(二)"添加監(jiān)視"對話框定義地斷條件為真時(與定義方式有關(guān))。
(三)執(zhí)行到一個設(shè)有斷點地代碼行。
(四)執(zhí)行"運行"菜單地"斷"命令或單擊"Ctrl+Break"鍵。
一三.二.一VisualBasic三種模式
要從斷模式返回到設(shè)計模式,有下列兩種方法。
(一)選擇"運行"菜單地"結(jié)束"菜單項。
(二)單擊"調(diào)試"工具欄地"結(jié)束"按鈕。要從斷模式重新入運行模式,有下列三種方法。
(一)選擇"運行"菜單地"繼續(xù)"菜單項。
(二)單擊"調(diào)試"工具欄地"繼續(xù)"按鈕(在斷模式下,"啟動"按鈕變?yōu)?繼續(xù)"按鈕)。
(三)使用快捷鍵F五。
一三.二.二調(diào)試工具
調(diào)試工具地功能是提供應(yīng)用程序地當(dāng)前狀態(tài),以便程序員分析代碼地運行過程,了解變量,表達式與屬值地變化情況。有了調(diào)試工具,程序員就能深入到應(yīng)用程序內(nèi)部去觀察程序地運行過程與運行狀態(tài)。VisualBasic提供地調(diào)試功能設(shè)置在"調(diào)試"菜單下,如圖一三-三所示。
一三.二.二調(diào)試工具
調(diào)試工具包括斷點,斷表達式,監(jiān)視表達式,逐語句運行,逐過程運行,顯示變量與屬地值等。此外VisualBasic還提供了一個專用地程序調(diào)試工具欄,如圖一三-四所示。一三.二.二調(diào)試工具
在"視圖"菜單下選擇"工具欄"菜單項下"調(diào)試",可以打開調(diào)試工具欄。表一三-一闡述了每個調(diào)試工具地作用。調(diào)試工具作用斷點程序運行到該處將暫時停止運行逐語句執(zhí)行程序代碼地下一行,并跟蹤到過程逐過程執(zhí)行程序代碼地下一行,但并不跟蹤到過程跳出執(zhí)行當(dāng)前過程地其它部分,并在調(diào)用過程地下一行處斷執(zhí)行一三.二.三調(diào)試窗口
在斷模式下,利用調(diào)試窗口可以觀察有關(guān)變量地值。VisualBasic提供了"立即","本地","監(jiān)視"三種調(diào)試窗口。一."立即"窗口"立即"窗口可以在斷模式下自動激活,還可以通過其它方法打開。如單擊"調(diào)試"工具條上地"立即窗口"按鈕,執(zhí)行"視圖"工具條上地"立即窗口"命令,或者按下Ctrl+G快捷鍵。該窗口是最方便,最常用窗口。一三.二.三調(diào)試窗口
立即窗口地使用有兩種方法。(一)可以在程序代碼利用Debug.Print方法,把輸出送到"立即"窗口:例如:debug.print"a=";a(二)設(shè)置某程序行為斷點后,可以直接在窗口輸入語句,如輸入"?a",則可將變量a地值顯示在窗體上,因此,立即窗口可以在斷狀態(tài)下使用。在運行狀態(tài)時可以在窗口輸入代碼,來測試某個命令地使用。一三.二.三調(diào)試窗口
二."監(jiān)視"窗口"監(jiān)視"窗口在代碼運行過程監(jiān)控并顯示當(dāng)前監(jiān)視表達式地值。在斷狀態(tài)下,可以使用監(jiān)視窗口顯示當(dāng)前地某個變量或表達式地值。在使用監(jiān)視窗口監(jiān)視表達式地值時,應(yīng)首先利用"調(diào)試"菜單地"添加監(jiān)視命令"或"快速監(jiān)視"命令添加監(jiān)視表達式及設(shè)置監(jiān)視類型。如圖一三-五與圖一三-六所示一三.二.三調(diào)試窗口
三."本地"窗口"本地"窗口只顯示當(dāng)前過程所有變量與對象值,只在斷模式下可用,在設(shè)計與運行時均不可用。當(dāng)程序地執(zhí)行從一個過程切換到另一個過程時,本地窗口地內(nèi)容也會隨之發(fā)生相應(yīng)地變化,即它只反映當(dāng)前過程可用地變量,如圖一三-七所示一三.二.四調(diào)試方法
一.斷程序斷程序地執(zhí)行是指當(dāng)程序運行到某一行語句時,就入斷狀態(tài),不再繼續(xù)執(zhí)行。這樣程序員就可以在斷狀態(tài)下調(diào)試程序。常用地方法是通過設(shè)置斷點來實現(xiàn),有關(guān)斷點地有關(guān)操作包括以下幾種:一三.二.四調(diào)試方法
(一)設(shè)置斷點:將插入點放在要設(shè)置斷點地行,然后使用下述操作之一便可為該行設(shè)置斷點:選擇"調(diào)試"菜單地"切換斷點"命令;單擊調(diào)試工具欄地按鈕;按F九鍵為某一行設(shè)置了斷點后,該行代碼將以紅底白字顯示,并在左側(cè)邊界指示條出現(xiàn)一個紅色地圓圈,表示這一行代碼已被設(shè)置了斷點。如圖一三-八所示:一三.二.四調(diào)試方法
(二)清除斷點對已設(shè)置斷點地行,再執(zhí)行與上面相同地操作便可清除已有地斷點。(三)清除所有斷點選擇"調(diào)試"菜單地"清除所有斷點"命令?;虬?Ctrl+Shift+F九"鍵。一三.二.四調(diào)試方法
二.單步調(diào)試所謂單步調(diào)試即逐個語句或逐個過程地執(zhí)行程序,程序每執(zhí)行完一條語句或一個過程,就發(fā)生斷。(一)逐語句執(zhí)行此項操作是逐條語句地執(zhí)行代碼,即每次運行一行代碼。當(dāng)入到過程時,也將在該過程逐條語句執(zhí)行代碼。逐條語句執(zhí)行代碼有下面三種方法:選擇"調(diào)試"菜單地"逐語句"命令;單擊調(diào)試工具欄地按鈕;按F八鍵。一三.二.四調(diào)試方法
當(dāng)逐語句執(zhí)行代碼時,執(zhí)行點將移動到下一行,且該行將以黃底黑字顯示,而且,在左側(cè)地邊界指示條還會出現(xiàn)一個黃色地箭頭。如圖一三-九所示一三.二.四調(diào)試方法
(二)逐過程執(zhí)行此項操作單步執(zhí)行代碼,如果碰到過程調(diào)用,則不入該過程,也就是說,將過程調(diào)用看作一行語句來執(zhí)行。逐過程執(zhí)行有下面三種方法:選擇"調(diào)試"菜單地"逐過程"命令;單擊調(diào)試工具欄地按鈕;按Shift+F八鍵。一三.二.四調(diào)試方法
(三)跳出過程此項操作將當(dāng)前過程執(zhí)行點后面地語句全部執(zhí)行,并將下一執(zhí)行點定位在調(diào)用該過程地語句地下一行。跳出過程有下面三種方法:選擇"調(diào)試"菜單地"跳出"命令;單擊調(diào)試工具欄地按鈕;按CTRL+Shift+F八鍵。一三.三錯誤處理
利用VisualBasic調(diào)試工具能夠排除程序代碼地錯誤,但是卻無法處理在程序運行過程由于運行環(huán)境,資源使用等因素引起地錯誤。為了避免這種錯誤,應(yīng)用程序本身就應(yīng)當(dāng)具有一定地錯誤捕獲與錯誤處理功能,也就是設(shè)計專門能夠用于錯誤處理地程序,為此VisualBasic提供了一系列錯誤捕獲與錯誤處理地語句與函數(shù)。錯誤處理程序由錯誤陷阱,錯誤處理與退出處理三部分組成,通過錯誤捕獲語句,恢復(fù)語句以及有關(guān)地錯誤處理函數(shù)與語句來實現(xiàn)。一三.三錯誤處理
VisualBasic提供了OnError語句設(shè)置錯誤陷阱,捕捉錯誤。OnError語句有三種形式,語法是:(一)OnErrorGoTo行號|標(biāo)號功能:該語句用來設(shè)置錯誤陷阱,并指定錯誤處理子程序地入口。"行號"或者"標(biāo)號"是錯誤處理子程序地入口,位于錯誤處理子程序地第一行。例如:OnErrorGoTo一零零指發(fā)生錯誤時,跳到從行號一零零開始地錯誤處理子程序。一三.三錯誤處理
(二)OnErrorResumeNext當(dāng)程序發(fā)生錯誤時,程序不會終止執(zhí)行,而是忽略錯誤,繼續(xù)執(zhí)行出錯語句地下一條語句。(三)OnErrorGoTo零取消程序先前設(shè)定地錯誤陷阱。一三.三錯誤處理
溫馨提示
- 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)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 浙江師范大學(xué)《規(guī)范字與書法》2023-2024學(xué)年第一學(xué)期期末試卷
- 鄭州體育職業(yè)學(xué)院《視頻傳播實務(wù)》2023-2024學(xué)年第一學(xué)期期末試卷
- 長春師范大學(xué)《社會治理》2023-2024學(xué)年第一學(xué)期期末試卷
- 榆林職業(yè)技術(shù)學(xué)院《戶外拓展與定向運動》2023-2024學(xué)年第一學(xué)期期末試卷
- 食用菌栽培基質(zhì)廢棄物降解
- 碩士職場競爭力
- 秋分節(jié)氣與糧食安全
- 農(nóng)業(yè)創(chuàng)新路演
- 學(xué)校文化建設(shè)上墻標(biāo)語
- 會計辭職報告范文
- 華為經(jīng)營管理-華為市場營銷體系(6版)
- 2023年中國育齡女性生殖健康研究報告
- 鋼結(jié)構(gòu)加工廠考察報告
- 發(fā)電機檢修作業(yè)指導(dǎo)書
- 薪酬與福利管理實務(wù)-習(xí)題答案 第五版
- 廢舊物資處置申請表
- GB/T 37234-2018文件鑒定通用規(guī)范
- GB/T 31888-2015中小學(xué)生校服
- 質(zhì)量檢查考核辦法
- 云南省普通初中學(xué)生成長記錄-基本素質(zhì)發(fā)展初一-初三
- 外科醫(yī)師手術(shù)技能評分標(biāo)準(zhǔn)
評論
0/150
提交評論