程序調(diào)試與出錯(cuò)處

上傳人:jian****019 文檔編號(hào):248207920 上傳時(shí)間:2024-10-22 格式:PPT 頁數(shù):20 大小:227.50KB
收藏 版權(quán)申訴 舉報(bào) 下載
程序調(diào)試與出錯(cuò)處_第1頁
第1頁 / 共20頁
程序調(diào)試與出錯(cuò)處_第2頁
第2頁 / 共20頁
程序調(diào)試與出錯(cuò)處_第3頁
第3頁 / 共20頁

下載文檔到電腦,查找使用更方便

9.9 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《程序調(diào)試與出錯(cuò)處》由會(huì)員分享,可在線閱讀,更多相關(guān)《程序調(diào)試與出錯(cuò)處(20頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。

1、單擊此處編輯母版標(biāo)題樣式,*,單擊此處編輯母版文本樣式,第二級,第三級,第四級,第五級,第十五章 程序調(diào)試與出錯(cuò)處理,本章要求:,1. 掌握VB程序調(diào)試方法,2. 學(xué)會(huì),查找和修改和分析程序錯(cuò)誤的方法,3. 了解錯(cuò)誤處理的方法:,捕捉錯(cuò)誤,設(shè)計(jì)的程序來處理不同錯(cuò)誤。,4. 了解程序的打包和發(fā)布。,1,編譯錯(cuò)誤,指由于違反了,VB,的有關(guān)語法而產(chǎn)生的錯(cuò)誤(也稱語法錯(cuò)誤)。常見的編譯錯(cuò)誤有:,15.1 常見錯(cuò)誤類型,Visual Basic,程序的錯(cuò)誤分為:,編譯錯(cuò)誤,運(yùn)行時(shí)錯(cuò)誤,邏輯錯(cuò)誤,(,1,)標(biāo)點(diǎn)符號(hào)錯(cuò)(程序中只能使用西文標(biāo)點(diǎn));關(guān)鍵字輸入錯(cuò)(例:,Dim,寫成,Din,);一行語句沒有寫

2、完整等,,(,2,)對象名稱(,Name,屬性)寫錯(cuò);,(3)對象的屬性名、方法名,內(nèi)部函數(shù)名寫錯(cuò);,(4)變量未定義或變量名寫錯(cuò)(可在通用聲明段加,Option Explicit,,采用變量顯式聲明);,(3)塊,If,沒有對應(yīng)的,End If,語句;,For,循環(huán)沒有對應(yīng)的,Next,語句;,Do,循環(huán)沒有對應(yīng)的,Loop,語句等,這類錯(cuò)誤當(dāng),VB,開始運(yùn)行時(shí)提示出錯(cuò)信息,且將出錯(cuò)位置用反色顯示,,2 運(yùn)行錯(cuò)誤,VB在運(yùn)行代碼時(shí)指令代碼執(zhí)行了一非法操作引起的誤指。例如,除法時(shí)分母為零,被操作的驅(qū)動(dòng)器未準(zhǔn)備好或磁盤讀寫有錯(cuò)。或數(shù)組下標(biāo)超界、數(shù)據(jù)溢出等。,運(yùn)行出錯(cuò)也將彈出一個(gè)子窗口,提示出錯(cuò)信

3、息。,3 邏輯錯(cuò)誤,程序存在邏輯上的缺陷引起程序運(yùn)行后,得不到所期望的結(jié)果。,例如,使用了不正確的變量類型或指令的次序不對。又如,循環(huán)中起終值不正確。邏輯錯(cuò)誤也可以產(chǎn)生運(yùn)行錯(cuò)誤。通常,邏輯錯(cuò)誤不會(huì)產(chǎn)生錯(cuò)誤提示信息,需要程序員仔細(xì)地閱讀分析程序。,15.2 VB6.0系統(tǒng)調(diào)試工具,15.2.1 設(shè)置自動(dòng)語法檢測,在,VB,集成開發(fā)環(huán)境中,選擇“工具”菜單的“選項(xiàng)”命令,再在打開的“選項(xiàng)”對話框中選“編輯器”標(biāo)簽,,15.2.2 VB調(diào)試工具,Visual Basic,的調(diào)試包括:斷點(diǎn)、中斷表達(dá)式、監(jiān)視表達(dá)式、通過代碼一次經(jīng)過一個(gè)語句或一個(gè)過程、顯示變量和屬性的值。,1、,調(diào)試工具欄,15.3 調(diào)

4、試和排錯(cuò)方法,15.3.1 VB的三種工作模式,設(shè)計(jì)模式、運(yùn)行模式和中斷模式,15.3.2 控制程序的運(yùn)行,1,啟動(dòng)對象及控制程序的運(yùn)行,(,1,)逐語句運(yùn)行,(,2,)逐過程運(yùn)行,(,3,)從過程中跳出,2,設(shè)置斷點(diǎn),15.3.3 程序調(diào)試窗口,有三個(gè)調(diào)試窗口,它們是:“立即”窗口、“監(jiān)視”窗口、和“本地”窗口??蓡螕粢晥D菜單中的對應(yīng)命令打開這些窗口。,(1)“立即”窗口,顯示代碼中正在調(diào)試的語句所產(chǎn)生的信息,或直接往窗口中鍵入的命令所請求的信息。,(2)在中斷模式下,,可自動(dòng)顯示出所有在當(dāng)前過程中的變量聲明及變量值。(單擊調(diào)試工具欄上的“本地窗口”按扭或選擇“視圖”菜單的“本地窗口”顯示)

5、,如圖,15-8,所示。,(3) “監(jiān)視”窗口顯示當(dāng)前的監(jiān)視表達(dá)式,在代碼運(yùn)行過程中可決定是否監(jiān)控這些表達(dá)式的值。,例,15.1,、,調(diào)試第六章例,6.4,傳值、傳址例題,觀察變量的虛實(shí)結(jié)合過程。,15.4 出錯(cuò)處理,所謂錯(cuò)誤處理,就是允許編寫的應(yīng)用程序?qū)﹀e(cuò)誤進(jìn)行響應(yīng)。當(dāng)一個(gè)錯(cuò)誤發(fā)生了,程序能捕捉到這一錯(cuò)誤,并可按程序設(shè)計(jì)者事先設(shè)計(jì)的方法來處理這一錯(cuò)誤。常規(guī)下通過以下步驟在應(yīng)用程序中增加指令捕捉和處理運(yùn)行錯(cuò)誤:,1、設(shè)置錯(cuò)誤陷阱,在程序適當(dāng)?shù)牡胤郊尤胍恍┱Z句來捕捉錯(cuò)誤,一旦錯(cuò)誤發(fā)生,程序的運(yùn)行將轉(zhuǎn)移到錯(cuò)誤處理程序,根據(jù)所捕獲到的錯(cuò)誤代碼告訴應(yīng)用程序應(yīng)當(dāng)怎樣操作。,2、編寫錯(cuò)誤處理程序,當(dāng)程序中

6、出現(xiàn)運(yùn)行錯(cuò)誤時(shí),程序的運(yùn)行將轉(zhuǎn)到錯(cuò)誤處理程序,錯(cuò)誤處理程序根據(jù)可預(yù)知的錯(cuò)誤類型決定采取何種措施。,1,設(shè)置錯(cuò)誤陷阱,使用On Error語句可設(shè)置陷阱,捕捉錯(cuò)誤。On Error語句有如下形式:,(1) On Error Resume Next,發(fā)生錯(cuò)誤時(shí),忽略錯(cuò)誤行,繼續(xù)執(zhí)行下一語句。,(2) On Error GoTo 語句標(biāo)號(hào),發(fā)生錯(cuò)誤時(shí),使程序轉(zhuǎn)跳到語句標(biāo)號(hào)所指示的程序塊。,(3) On Error GoTo 0,表示當(dāng)發(fā)生錯(cuò)誤時(shí),不使用錯(cuò)誤處理程序塊。,2編寫錯(cuò)誤處理程序,編寫錯(cuò)誤處理程序一般要使用到,Err,對象,,它是一個(gè)系統(tǒng)對象,可以通過,Err,對象來獲取錯(cuò)誤的消息。當(dāng)出現(xiàn),

7、VB,錯(cuò)誤時(shí),有關(guān)錯(cuò)誤的信息存儲(chǔ)在,Err,對象中。,Err,對象每次只維護(hù)一個(gè)錯(cuò)誤的信息。當(dāng)出現(xiàn)新的錯(cuò)誤時(shí),,Err,對象將更新為新的錯(cuò)誤信息。,Err,對象,的缺省屬性是,Number,屬性。當(dāng)運(yùn)行時(shí)錯(cuò)誤發(fā)生時(shí),,Err,對象的屬性被填入明確識(shí)別錯(cuò)誤的信息以及處理這個(gè)錯(cuò)誤所使用的信息。,當(dāng)On Error捕捉到錯(cuò)誤后,,Err對象的屬性Number指示對應(yīng)錯(cuò)誤號(hào),。在錯(cuò)誤處理程序塊中可使用“Select Case Err,.,Number”或“If Err,.,Number = ”語句編寫出錯(cuò)處理。,例如,下面的,Test,過程是,Number,屬性在錯(cuò)誤處理過程中的典型用法。,Priva

8、te S,ub test(),On Error GoTo out,Dim x, y,x = 1 / y ,引發(fā)一個(gè),“,除以零,”,的錯(cuò)誤,Exit Sub,out:,MsgBox Err.Number,MsgBox Err.Description,檢查是否發(fā)生,“,除以零,”,的錯(cuò)誤,If Err.Number = 11 Then,y = y + 1,End If,Resume,End Sub,3,退出錯(cuò)誤處理,在錯(cuò)誤處理程序中,當(dāng)遇到,Exit Sub,、,Exit Function,、,End Sub,、,End Function,等語句時(shí),將退出錯(cuò)誤捕獲。,在錯(cuò)誤處理程序結(jié)束后,要恢復(fù)

9、原有的運(yùn)行??捎?Resume,語句。,語法:,(,1,),Resume ,重新執(zhí)行產(chǎn)生錯(cuò)誤的語句,(,2,),Resume Next,重新執(zhí)行產(chǎn)生錯(cuò)誤的語句的下一語句,(,3,),Resume,語句標(biāo)號(hào),從語句標(biāo)號(hào)初恢復(fù)執(zhí)行,一般來說,一些可以修正的錯(cuò)誤,可使用,Resume,,而在錯(cuò)誤處理程序不能修正錯(cuò)誤時(shí)使用,Resume Next,或,Resume,語句標(biāo)號(hào)。,例,15.2,編寫一個(gè)判斷一個(gè)給定的文件是否存在的函數(shù),并能處理無效驅(qū)動(dòng)器或軟盤驅(qū)動(dòng)器沒有磁盤等設(shè)備出錯(cuò)問題。,例,15.3,編寫簡單的錯(cuò)誤處理程序。處理當(dāng)在文本中輸入數(shù)據(jù)超過整型數(shù)的最大值,32767,時(shí)給出錯(cuò)誤提示,并可重新

10、輸入。,15.5 生成執(zhí)行文件和制作安裝程序,15.5.1 生成執(zhí)行文件,從,“,文件,”,菜單中選取,“,生成,projectname.exe”,,將打開“生成工程”對話框,如圖,15-17,所示。這里“,projectname,”,是工程的應(yīng)用程序名。,15.5.2 使用安裝向?qū)?chuàng)建安裝程序,為應(yīng)用程序制作安裝程序,打包是創(chuàng)建一個(gè)軟件包的操作,該軟件包可以將你的應(yīng)用程序安裝到用戶的計(jì)算機(jī)上。軟件包由一個(gè)或多個(gè),.CAB,文件組成,文件中包含了用戶安裝和運(yùn)行應(yīng)用程序所需的被壓縮的工程文件和任何其他必需的文件。這些文件可能包括安裝程序、輔助的,.CAB,文件、或其他必需的文件。這些附加的文件根據(jù)你創(chuàng)建的軟件包類型不同而不同。,以一個(gè)VB工程為例,演示打包和展開應(yīng)用程序。,15.5.3 檢測安裝程序,

展開閱讀全文
溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!