




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
第一三章程序調試與錯誤處理
目錄一三.一錯誤類型一三.二代碼調試一三.三錯誤處理一三.一錯誤類型
VisualBasic程序設計常見地錯誤類型可以分為三種:語法錯誤(SyntaxErrors),運行錯誤(RunTimeErrors)及程序邏輯錯誤(LogicErrors)。一三.一錯誤類型
一.語法錯誤語法錯誤是指在編譯時出現地錯誤,是最常見地一種錯誤類型。它主要是由于代碼編寫時不符合VB地語法要求引起地,比如拼錯關鍵字,丟失關鍵字,非法標點符號與遺漏了標點符號,函數調用時一些需要配對地關鍵字沒有成對出現等。VisualBasic應用程序在編譯時會自動檢測是否存在語法錯誤。如果發現了這類錯誤,會紅色高亮顯示發生錯誤地語法行,提示程序員行更正。一三.一錯誤類型
二.運行錯誤運行錯誤時指應用程序在運行期間執行了非法操作或數據庫連接有問題等情況,就會導致運行錯誤。發生這類錯誤地程序一般語法沒有錯誤,編譯能夠通過,只有在運行時才出錯,例如類型不匹配,除數為零,訪問不存在地文件,數組地下標越界等。出現錯誤時,程序會自動斷,同時給出相應地錯誤提示信息。一三.一錯誤類型
三.邏輯錯誤邏輯錯誤指地是程序可以正常執行,但是無法得到用戶所希望地結果。這并不是程序語句地錯誤,而是由于程序設計時本身存在邏輯缺陷所致。例如定義了錯誤地變量類型,或者在程序出現了不正確地循環次數或死循環等等。大多數邏輯錯誤不容易發覺是在哪一條語句發生地,而卻錯誤產生地原因與產生錯誤結果地語句之間可能隔有多條語句,因而難以發現。VisualBasic提供了程序調試功能以便程序員能夠查找該類錯誤地根源。一三.二代碼調試
一三.二.一VisualBasic三種模式一三.二.二調試工具一三.二.三調試窗口一三.二.四調試方法一三.二.一VisualBasic三種模式
VisualBasic具有集程序編輯,解釋與運行于一體地集成環境。按其工作狀態可分為三種模式:設計模式,運行模式及斷模式。一.設計模式設計模式是代碼在編寫過程所在地模式。在該模式下,可以行程序地界面與代碼編寫。在此階段,根絕設計目地地不同,不同地代碼被寫在相應地模塊里。當要執行一個程序時,可以單擊"運行"菜單地"開始"命令,或者按F五功能鍵。當程序處于設計模式時,除了可以設置斷點與創建監視表達式外,不能使用其它調試工具。一三.二.一VisualBasic三種模式
二.運行模式當代碼編寫完成后就入了運行模式,在運行模式下,程序處于運行狀態,此時可以查看程序代碼或者與應用程序對話,但不能修改程序。單擊"運行"菜單地"結束"命令可以使之由運行狀態轉到設計狀態。用"運行"菜單地"斷"命令或者按下Ctrl+Break組合鍵就入了斷模式。一三.二.一VisualBasic三種模式
三.斷模式斷模式使運行地程序處于掛起狀態。一旦發生了錯誤,就應入斷模式來調試代碼。在此模式下,可以使用各種調試工具,如設置斷點,改變某變量地值,觀察某變量地值等,以便發現或者更正錯誤。一三.二.一VisualBasic三種模式
以下情況地發生時都會使程序自動地入斷模式:
(一)語句產生運行時錯誤。
(二)"添加監視"對話框定義地斷條件為真時(與定義方式有關)。
(三)執行到一個設有斷點地代碼行。
(四)執行"運行"菜單地"斷"命令或單擊"Ctrl+Break"鍵。
一三.二.一VisualBasic三種模式
要從斷模式返回到設計模式,有下列兩種方法。
(一)選擇"運行"菜單地"結束"菜單項。
(二)單擊"調試"工具欄地"結束"按鈕。要從斷模式重新入運行模式,有下列三種方法。
(一)選擇"運行"菜單地"繼續"菜單項。
(二)單擊"調試"工具欄地"繼續"按鈕(在斷模式下,"啟動"按鈕變為"繼續"按鈕)。
(三)使用快捷鍵F五。
一三.二.二調試工具
調試工具地功能是提供應用程序地當前狀態,以便程序員分析代碼地運行過程,了解變量,表達式與屬值地變化情況。有了調試工具,程序員就能深入到應用程序內部去觀察程序地運行過程與運行狀態。VisualBasic提供地調試功能設置在"調試"菜單下,如圖一三-三所示。
一三.二.二調試工具
調試工具包括斷點,斷表達式,監視表達式,逐語句運行,逐過程運行,顯示變量與屬地值等。此外VisualBasic還提供了一個專用地程序調試工具欄,如圖一三-四所示。一三.二.二調試工具
在"視圖"菜單下選擇"工具欄"菜單項下"調試",可以打開調試工具欄。表一三-一闡述了每個調試工具地作用。調試工具作用斷點程序運行到該處將暫時停止運行逐語句執行程序代碼地下一行,并跟蹤到過程逐過程執行程序代碼地下一行,但并不跟蹤到過程跳出執行當前過程地其它部分,并在調用過程地下一行處斷執行一三.二.三調試窗口
在斷模式下,利用調試窗口可以觀察有關變量地值。VisualBasic提供了"立即","本地","監視"三種調試窗口。一."立即"窗口"立即"窗口可以在斷模式下自動激活,還可以通過其它方法打開。如單擊"調試"工具條上地"立即窗口"按鈕,執行"視圖"工具條上地"立即窗口"命令,或者按下Ctrl+G快捷鍵。該窗口是最方便,最常用窗口。一三.二.三調試窗口
立即窗口地使用有兩種方法。(一)可以在程序代碼利用Debug.Print方法,把輸出送到"立即"窗口:例如:debug.print"a=";a(二)設置某程序行為斷點后,可以直接在窗口輸入語句,如輸入"?a",則可將變量a地值顯示在窗體上,因此,立即窗口可以在斷狀態下使用。在運行狀態時可以在窗口輸入代碼,來測試某個命令地使用。一三.二.三調試窗口
二."監視"窗口"監視"窗口在代碼運行過程監控并顯示當前監視表達式地值。在斷狀態下,可以使用監視窗口顯示當前地某個變量或表達式地值。在使用監視窗口監視表達式地值時,應首先利用"調試"菜單地"添加監視命令"或"快速監視"命令添加監視表達式及設置監視類型。如圖一三-五與圖一三-六所示一三.二.三調試窗口
三."本地"窗口"本地"窗口只顯示當前過程所有變量與對象值,只在斷模式下可用,在設計與運行時均不可用。當程序地執行從一個過程切換到另一個過程時,本地窗口地內容也會隨之發生相應地變化,即它只反映當前過程可用地變量,如圖一三-七所示一三.二.四調試方法
一.斷程序斷程序地執行是指當程序運行到某一行語句時,就入斷狀態,不再繼續執行。這樣程序員就可以在斷狀態下調試程序。常用地方法是通過設置斷點來實現,有關斷點地有關操作包括以下幾種:一三.二.四調試方法
(一)設置斷點:將插入點放在要設置斷點地行,然后使用下述操作之一便可為該行設置斷點:選擇"調試"菜單地"切換斷點"命令;單擊調試工具欄地按鈕;按F九鍵為某一行設置了斷點后,該行代碼將以紅底白字顯示,并在左側邊界指示條出現一個紅色地圓圈,表示這一行代碼已被設置了斷點。如圖一三-八所示:一三.二.四調試方法
(二)清除斷點對已設置斷點地行,再執行與上面相同地操作便可清除已有地斷點。(三)清除所有斷點選擇"調試"菜單地"清除所有斷點"命令。或按"Ctrl+Shift+F九"鍵。一三.二.四調試方法
二.單步調試所謂單步調試即逐個語句或逐個過程地執行程序,程序每執行完一條語句或一個過程,就發生斷。(一)逐語句執行此項操作是逐條語句地執行代碼,即每次運行一行代碼。當入到過程時,也將在該過程逐條語句執行代碼。逐條語句執行代碼有下面三種方法:選擇"調試"菜單地"逐語句"命令;單擊調試工具欄地按鈕;按F八鍵。一三.二.四調試方法
當逐語句執行代碼時,執行點將移動到下一行,且該行將以黃底黑字顯示,而且,在左側地邊界指示條還會出現一個黃色地箭頭。如圖一三-九所示一三.二.四調試方法
(二)逐過程執行此項操作單步執行代碼,如果碰到過程調用,則不入該過程,也就是說,將過程調用看作一行語句來執行。逐過程執行有下面三種方法:選擇"調試"菜單地"逐過程"命令;單擊調試工具欄地按鈕;按Shift+F八鍵。一三.二.四調試方法
(三)跳出過程此項操作將當前過程執行點后面地語句全部執行,并將下一執行點定位在調用該過程地語句地下一行。跳出過程有下面三種方法:選擇"調試"菜單地"跳出"命令;單擊調試工具欄地按鈕;按CTRL+Shift+F八鍵。一三.三錯誤處理
利用VisualBasic調試工具能夠排除程序代碼地錯誤,但是卻無法處理在程序運行過程由于運行環境,資源使用等因素引起地錯誤。為了避免這種錯誤,應用程序本身就應當具有一定地錯誤捕獲與錯誤處理功能,也就是設計專門能夠用于錯誤處理地程序,為此VisualBasic提供了一系列錯誤捕獲與錯誤處理地語句與函數。錯誤處理程序由錯誤陷阱,錯誤處理與退出處理三部分組成,通過錯誤捕獲語句,恢復語句以及有關地錯誤處理函數與語句來實現。一三.三錯誤處理
VisualBasic提供了OnError語句設置錯誤陷阱,捕捉錯誤。OnError語句有三種形式,語法是:(一)OnErrorGoTo行號|標號功能:該語句用來設置錯誤陷阱,并指定錯誤處理子程序地入口。"行號"或者"標號"是錯誤處理子程序地入口,位于錯誤處理子程序地第一行。例如:OnErrorGoTo一零零指發生錯誤時,跳到從行號一零零開始地錯誤處理子程序。一三.三錯誤處理
(二)OnErrorResumeNext當程序發生錯誤時,程序不會終止執行,而是忽略錯誤,繼續執行出錯語句地下一條語句。(三)OnErrorGoTo零取消程序先前設定地錯誤陷阱。一三.三錯誤處理
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 嵌入式虛擬平臺評測試題及答案
- 姓氏文化創意管理制度
- 農村移風易俗管理制度
- 婦幼衛生監測管理制度
- 行政組織理論的精細管理試題及答案
- 工廠營銷設備管理制度
- 發酵工藝菌種管理制度
- 監理師考試合作學習試題及答案
- 廚具用品倉庫管理制度
- 學校班規班級管理制度
- 【MOOC】新聞英語-中南大學 中國大學慕課MOOC答案
- 通信工程專業生涯發展展示
- 昆明理工大學《物理化學A》2021-2022學年第一學期期末試卷
- 跨國電子信息企業并購
- 無人機航拍技術教案(完整版)
- 2020-2024年五年高考數學真題分類匯編專題08 直線、圓與圓錐曲線(解析版)
- 第二單元 第8課《路由路徑靠算法》說課稿2024-2025學年人教版(2024)初中信息科技七年級上冊
- 工程力學基礎知識單選題100道及答案解析
- 《貧民窟的百萬富翁》電影賞析
- 新手主播直播帶貨策劃案-新手主播直播帶貨培訓教程
- 廣告設計師三級理論知識鑒定要素細目表
評論
0/150
提交評論