版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
15.1錯(cuò)誤類(lèi)型
程序調(diào)試就是對(duì)程序進(jìn)行測(cè)試并查找出錯(cuò)誤所在。VisualBasic的錯(cuò)誤類(lèi)型可以分為語(yǔ)法錯(cuò)誤、編譯錯(cuò)誤、運(yùn)行錯(cuò)誤和邏輯錯(cuò)誤。1.語(yǔ)法錯(cuò)誤通常是由于不正確書(shū)寫(xiě)代碼而產(chǎn)生的。例如:多寫(xiě)、漏寫(xiě)、關(guān)鍵字寫(xiě)錯(cuò),標(biāo)點(diǎn)符號(hào)使用不當(dāng)?shù)?。?duì)于這種錯(cuò)誤,用VisualBasic中提供的自動(dòng)語(yǔ)法檢查功能就可解決。當(dāng)輸入一行代碼并回車(chē)后,VisualBasic系統(tǒng)就立即檢測(cè)出錯(cuò)誤,出錯(cuò)的那一行變成紅色,出錯(cuò)部分被高亮顯示并彈出消息對(duì)話(huà)框指出錯(cuò)誤的原因,對(duì)通過(guò)基本語(yǔ)法檢查的語(yǔ)句,會(huì)自動(dòng)將對(duì)象、常數(shù)等首字母變?yōu)榇髮?xiě),自動(dòng)調(diào)整各單詞之間的空格等。15.1錯(cuò)誤類(lèi)型2.編譯錯(cuò)誤編譯錯(cuò)誤是指單擊了“啟動(dòng)”按鈕,VB開(kāi)始運(yùn)行程序前,先編譯執(zhí)行的程序段首產(chǎn)生的錯(cuò)誤。此類(lèi)錯(cuò)誤是由于用戶(hù)未定義變量、遺漏關(guān)鍵字等原因而產(chǎn)生的。這時(shí)VB也彈出一個(gè)對(duì)話(huà)框,提示錯(cuò)誤信息。出錯(cuò)的那行被高亮顯示,同時(shí)VB停止編譯。這時(shí),用戶(hù)必須單擊“確定”按鈕,關(guān)閉出錯(cuò)提示對(duì)話(huà)框,然后對(duì)出錯(cuò)行進(jìn)行修改。15.1錯(cuò)誤類(lèi)型3.運(yùn)行錯(cuò)誤運(yùn)行時(shí)的錯(cuò)誤是VB在編譯通過(guò)后,運(yùn)行代碼時(shí)發(fā)生的錯(cuò)誤。這類(lèi)錯(cuò)誤往往是由指令代碼執(zhí)行了非法操作引起的。例如,除法運(yùn)算中除數(shù)為零,類(lèi)型不匹配,訪問(wèn)文件時(shí)文件夾或文件找不到等。4.邏輯錯(cuò)誤邏輯錯(cuò)誤是指程序能正常運(yùn)行但是沒(méi)有得到預(yù)期結(jié)果的錯(cuò)誤。例如,運(yùn)算符使用不正確,語(yǔ)句的次序不對(duì),循環(huán)語(yǔ)句的起始、終值不正確。通常,邏輯錯(cuò)誤不會(huì)產(chǎn)生錯(cuò)誤提示信息,故錯(cuò)誤較難排除,需要程序員仔細(xì)閱讀分析程序,并具有調(diào)試程序的經(jīng)驗(yàn)。15.2調(diào)試與排錯(cuò)VB雖不能診斷或更正錯(cuò)誤,但是提供了一些非常有用的工具,幫助分析運(yùn)行是如何從過(guò)程的一部分流動(dòng)到另一部分,分析變量和屬性是如何隨著語(yǔ)句的執(zhí)行而改變的。使用調(diào)試工具,可以能深入到應(yīng)用程序內(nèi)部去觀察,從而確定產(chǎn)生錯(cuò)誤的原因。15.2.1調(diào)試工具VisualBasic6.0提供了強(qiáng)大的調(diào)試工具,可以在“調(diào)試”菜單中找到,也可以在“調(diào)試”工具欄中找到。通過(guò)它們可以便捷有效地檢測(cè)出程序中邏輯錯(cuò)誤地點(diǎn)和原因。
“調(diào)試”工具“調(diào)試”工具用途運(yùn)行從設(shè)計(jì)模式切換到運(yùn)行模式或從中斷模式切換到運(yùn)行模式中斷從運(yùn)行模式切換到中斷模式結(jié)束從中斷模式或運(yùn)行模式切換到設(shè)計(jì)模式切換斷點(diǎn)程序會(huì)連續(xù)運(yùn)行到光標(biāo)所在行后轉(zhuǎn)入中斷模式,暫停應(yīng)用程序的執(zhí)行逐語(yǔ)句程序逐條語(yǔ)句執(zhí)行,每執(zhí)行一條語(yǔ)句后轉(zhuǎn)入中斷模式逐過(guò)程程序?qū)⒄麄€(gè)函數(shù)或過(guò)程作為一條語(yǔ)句來(lái)執(zhí)行跳出程序?qū)⑦B續(xù)執(zhí)行完該過(guò)程的其余部分,返回調(diào)用過(guò)程的下一條語(yǔ)句并轉(zhuǎn)入中斷模式本地窗口顯示當(dāng)前過(guò)程中變量的值立即窗口當(dāng)應(yīng)用程序處于中斷模式時(shí),允許運(yùn)行代碼或查詢(xún)變量值監(jiān)視窗口顯示選定表達(dá)式的值快速窗口當(dāng)應(yīng)用程序處于中斷模式時(shí),列出表達(dá)式的當(dāng)前值調(diào)用堆棧在中斷模式中,顯示一個(gè)對(duì)話(huà)框,其中列出所有被調(diào)用且未完成運(yùn)行的過(guò)程15.2調(diào)試與排錯(cuò)15.2.2調(diào)試方法VisualBasic6.0提供了強(qiáng)大的調(diào)試工具,可以在“調(diào)試”菜單中找到,也可以在“調(diào)試”工具欄中找到。通過(guò)它們可以便捷有效地檢測(cè)出程序中邏輯錯(cuò)誤地點(diǎn)和原因。1.使用斷點(diǎn)斷點(diǎn)是一行加有標(biāo)記的語(yǔ)句,程序執(zhí)行到該行時(shí)會(huì)暫停下來(lái)(斷點(diǎn)語(yǔ)句并未被執(zhí)行),這時(shí)可進(jìn)行各種調(diào)試工作。在程序調(diào)試過(guò)程中,不僅需要設(shè)置斷點(diǎn),而且需要變換斷點(diǎn)的位置,清除前面設(shè)置的斷點(diǎn)。斷點(diǎn)的設(shè)置既可以在設(shè)計(jì)時(shí)完成,也可以在中斷模式下切換。15.2調(diào)試與排錯(cuò)(1)設(shè)置斷點(diǎn)在代碼窗口中將光標(biāo)移動(dòng)到欲設(shè)置斷點(diǎn)的語(yǔ)句行,按F9鍵或單擊語(yǔ)句行首的灰色標(biāo)記區(qū),也可以通過(guò)執(zhí)行【調(diào)試】→【切換斷點(diǎn)】命令完成斷點(diǎn)的設(shè)置。(2)取消斷點(diǎn)單擊語(yǔ)句行首的灰色標(biāo)記區(qū)中的斷點(diǎn)標(biāo)記,也可以將光標(biāo)移動(dòng)到斷點(diǎn)所在的行后,執(zhí)行“調(diào)試”菜單中的“切換斷點(diǎn)”命令或按F9鍵,就可以將該斷點(diǎn)清除掉。如果希望清除程序中設(shè)置的所有斷點(diǎn),可以按Ctrl+Shift+F9鍵或執(zhí)行“調(diào)試”→“清除所有斷點(diǎn)”命令。15.2調(diào)試與排錯(cuò)2.跟蹤執(zhí)行軌跡當(dāng)已經(jīng)知道某行語(yǔ)句存在問(wèn)題時(shí),使用斷點(diǎn)查找錯(cuò)誤是個(gè)有效的方法,但通常程序出錯(cuò)的具體位置并不容易確定,只能夠猜測(cè)到在某個(gè)范圍內(nèi)可能存在問(wèn)題,這需要在此范圍內(nèi)跟蹤程序的執(zhí)行結(jié)果,一條條地單步執(zhí)行語(yǔ)句,這種方式稱(chēng)為“跟蹤”。VB提供了4種跟蹤方式:逐語(yǔ)句、逐過(guò)程、跳出、和運(yùn)行到光標(biāo)處。
注意:這4種方式都只能在中斷模式下使用。15.2調(diào)試與排錯(cuò)(1)逐語(yǔ)句逐語(yǔ)句執(zhí)行又稱(chēng)為單步執(zhí)行,一次執(zhí)行一條語(yǔ)句(不包括說(shuō)明性語(yǔ)句和注釋行),每執(zhí)行完一條語(yǔ)句后就轉(zhuǎn)入中斷模式。在逐語(yǔ)句調(diào)試下,用戶(hù)可以使用調(diào)試工具欄或F8鍵進(jìn)入“逐語(yǔ)句”跟蹤方式。繼續(xù)逐語(yǔ)句執(zhí)行。(2)逐過(guò)程在執(zhí)行一般代碼語(yǔ)句時(shí),“逐過(guò)程”與“逐語(yǔ)句”相似,只有在當(dāng)前的語(yǔ)句含有一個(gè)對(duì)過(guò)程的調(diào)用時(shí),兩者才會(huì)有差異?!爸鹫Z(yǔ)句”將進(jìn)入被調(diào)用的過(guò)程,并在該過(guò)程中執(zhí)行一個(gè)語(yǔ)句,與它不同的是,“逐過(guò)程”把被調(diào)用的過(guò)程視為一個(gè)基本單位來(lái)執(zhí)行,然后轉(zhuǎn)回到當(dāng)前過(guò)程的下一語(yǔ)句。要使代碼按這種方式執(zhí)行,單擊“調(diào)試”工具欄上的“逐過(guò)程”按鈕。在現(xiàn)實(shí)調(diào)試中,一般可以交替使用“逐語(yǔ)句”和“逐過(guò)程”。通過(guò)“逐過(guò)程”,可以跳過(guò)不想測(cè)試的過(guò)程代碼,縮短調(diào)試時(shí)間;而通過(guò)“逐語(yǔ)句”,則可以詳細(xì)測(cè)試可能出現(xiàn)錯(cuò)誤的代碼。用戶(hù)可以使用調(diào)試工具欄或Shift+F8鍵進(jìn)入“逐過(guò)程”跟蹤方式。15.2調(diào)試與排錯(cuò)(3)跳出跳出與前面兩種方式也很類(lèi)似,它連續(xù)執(zhí)行當(dāng)前過(guò)程的剩余部分,并在調(diào)用過(guò)程的下一行中斷執(zhí)行。(4)運(yùn)行到光標(biāo)處如果比較肯定錯(cuò)誤可能發(fā)生在某行代碼中,這時(shí)就不需要單步調(diào)試執(zhí)行,跳過(guò)對(duì)無(wú)關(guān)代碼的跟蹤,從光標(biāo)處開(kāi)始程序的分析。要采取“運(yùn)行到光標(biāo)處”調(diào)試方法。先將光標(biāo)置于該行代碼上,按Ctrl+F8鍵或執(zhí)行“調(diào)試”菜單中的“運(yùn)行到光標(biāo)處”命令,程序就會(huì)執(zhí)行到光標(biāo)處后轉(zhuǎn)入中斷模式。15.2調(diào)試與排錯(cuò)3.使用調(diào)試窗口VB提供了4個(gè)調(diào)試窗口:本地窗口、立即窗口、監(jiān)視窗口及調(diào)用堆棧窗口,用于在跟蹤過(guò)程中監(jiān)視變量、表達(dá)式的取值情況。用戶(hù)可以在“視圖”菜單中相應(yīng)的命令打開(kāi)它們。(1)“本地”窗口“本地”窗口的功能是在中斷模式下,顯示當(dāng)前過(guò)程的所有變量和活動(dòng)窗體的所有屬性,并能改變它們的值。“本地”窗口可以顯示當(dāng)前過(guò)程中所有變量的值。但需要注意,“本地”窗口只能顯示本過(guò)程,一般都與“單步執(zhí)行”配合使用。15.2調(diào)試與排錯(cuò)(2)“立即”窗口“立即”窗口的功能是幫助用戶(hù)檢查變量或?qū)傩缘闹?,同時(shí)也可以通過(guò)它重新設(shè)置變量或?qū)傩缘闹?。其?yōu)點(diǎn)是:不中斷程序執(zhí)行即可看到結(jié)果,以及不影響原有窗體外觀。在程序進(jìn)入中斷模式后,一般會(huì)自動(dòng)彈出“立即”窗口,如果界面上沒(méi)有顯示出“立即”窗口,可執(zhí)行“視圖”菜單中的“立即窗口”子菜單來(lái)打開(kāi)它。(3)“監(jiān)視”窗口“監(jiān)視”窗口的功能是幫助用戶(hù)自動(dòng)對(duì)監(jiān)視表達(dá)式所定義的表達(dá)式進(jìn)行監(jiān)視,當(dāng)應(yīng)用程序進(jìn)入中斷模式后,這些監(jiān)視表達(dá)式會(huì)出現(xiàn)在“監(jiān)視”窗口中,可在此處觀察它們的值。15.2調(diào)試與排錯(cuò)(4)“調(diào)用堆?!贝翱诘氖褂谩Mㄟ^(guò)這個(gè)窗口可以顯示正在執(zhí)行的過(guò)程、程序和方法程序。第1個(gè)程序運(yùn)行時(shí),該程序名列在“調(diào)用堆棧”窗口中,如果調(diào)用了第1個(gè)程序中的子程序或子過(guò)程,同時(shí)又在執(zhí)行第2個(gè)程序,則兩個(gè)程序的名字均顯示在“調(diào)用堆?!贝翱谥?。15.3軟件測(cè)試
軟件測(cè)試是為了發(fā)現(xiàn)錯(cuò)誤而執(zhí)行程序的過(guò)程。測(cè)試時(shí)要根據(jù)軟件開(kāi)發(fā)各個(gè)階段的規(guī)格說(shuō)明和程序的內(nèi)部結(jié)構(gòu)而精心設(shè)計(jì)的一批有代表性的測(cè)試用例,并利用這些測(cè)試用例運(yùn)行程序,以發(fā)現(xiàn)錯(cuò)誤的過(guò)程。軟件測(cè)試分單元測(cè)試、集成測(cè)試、驗(yàn)收測(cè)試幾個(gè)階段:1)單元測(cè)試在編碼完成之后由編程人員自己完成;2)集成
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度新型門(mén)窗安裝與建筑節(jié)能評(píng)估服務(wù)合同4篇
- 2024年學(xué)校檔案工作管理制度
- 2024年一年級(jí)語(yǔ)文下冊(cè)第二單元單元備課教案(11篇)
- 畢業(yè)花束特色課程設(shè)計(jì)
- 護(hù)坡施工方案施工方案
- 2025年高校校園文化活動(dòng)設(shè)施保潔與維護(hù)服務(wù)合同4篇
- 二零二五年度健康管理與養(yǎng)生服務(wù)合同4篇
- 垃圾分類(lèi)亭施工方案
- 2025年水稻種植戶(hù)與農(nóng)機(jī)服務(wù)公司合作購(gòu)銷(xiāo)合同3篇
- 送料車(chē)的PLC控制 課程設(shè)計(jì)
- 2023學(xué)年廣東省深圳實(shí)驗(yàn)學(xué)校初中部九年級(jí)(下)開(kāi)學(xué)語(yǔ)文試卷
- 2025屆河南省鄭州一中高三物理第一學(xué)期期末學(xué)業(yè)水平測(cè)試試題含解析
- 個(gè)體工商戶(hù)章程(標(biāo)準(zhǔn)版)
- 七年級(jí)英語(yǔ)閱讀理解55篇(含答案)
- 廢舊物資買(mǎi)賣(mài)合同極簡(jiǎn)版
- 2024年正定縣國(guó)資產(chǎn)控股運(yùn)營(yíng)集團(tuán)限公司面向社會(huì)公開(kāi)招聘工作人員高頻考題難、易錯(cuò)點(diǎn)模擬試題(共500題)附帶答案詳解
- 教科版六年級(jí)下冊(cè)科學(xué)第一單元《小小工程師》教材分析及全部教案(定稿;共7課時(shí))
- 中藥材產(chǎn)地加工技術(shù)規(guī)程 第1部分:黃草烏
- 危險(xiǎn)化學(xué)品經(jīng)營(yíng)單位安全生產(chǎn)考試題庫(kù)
- 案例分析:美國(guó)紐約高樓防火設(shè)計(jì)課件
- 移動(dòng)商務(wù)內(nèi)容運(yùn)營(yíng)(吳洪貴)任務(wù)一 用戶(hù)定位與選題
評(píng)論
0/150
提交評(píng)論