visual basic 程式設計

31
Visual Basic 程程程程 程程 程程程 [email protected] 程程程程程程程程程程程程程

Upload: simon-mckenzie

Post on 30-Dec-2015

49 views

Category:

Documents


1 download

DESCRIPTION

Visual Basic 程式設計. 講師:戴志華 [email protected] 國立台灣大學電機工程研究所. 第十七章 程式的除錯. 錯誤分類. 編譯時期錯誤 (Compile errors) 執行時期錯誤 (Run-time errors) 邏輯錯誤 (Logic errors). Compile errors. 沒有按照 VB 語法的規定會引發語法錯誤 打錯關鍵字 漏打標點符號 結構寫錯 …………………. Compile errors(cont’d). Auto Syntax Check( 語法檢查 ) - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Visual Basic  程式設計

Visual Basic 程式設計

講師:戴志華[email protected]國立台灣大學電機工程研究所

Page 2: Visual Basic  程式設計

第十七章 程式的除錯

Page 3: Visual Basic  程式設計

錯誤分類

編譯時期錯誤 (Compile errors)執行時期錯誤 (Run-time errors)邏輯錯誤 (Logic errors)

Page 4: Visual Basic  程式設計
Page 5: Visual Basic  程式設計

Compile errors

沒有按照 VB 語法的規定會引發語法錯誤 打錯關鍵字 漏打標點符號 結構寫錯 …………………..

Page 6: Visual Basic  程式設計

Compile errors(cont’d)

Auto Syntax Check( 語法檢查 )1. 選 Tools 功能表的 Options 命令。2. 選取 Editor 標籤頁。3. 勾選或清除 Auto Syntax Check 選項。

Page 7: Visual Basic  程式設計

Compile errors(cont’d)

Require Variable Declaration( 強制變數宣告 )

1. 選 Tools 功能表的 Options 命令。2. 選取 Editor 標籤頁。3. 勾選或清除 Require Variable Declaratio

n 選項。

Page 8: Visual Basic  程式設計

Compile errors(cont’d)

Combine “Auto Syntax Check” and “Require Variable Declaration”

變數名字大小寫兼具

Page 9: Visual Basic  程式設計

Run-time errors

當程式執行時發生意外的狀況錯誤,導致程式無法繼續執行的錯誤 取用無法使用的物件 試圖讀取不存在的檔案 執行除以 0 的運算 ………………..

Page 10: Visual Basic  程式設計

Logical errors

程式執行沒有得到預期的結果最不容易發現 借助 VB 提供的除錯工具追蹤並檢視程式執行的結果,才能找出錯誤所在

Page 11: Visual Basic  程式設計

Visual Basic 的三種模式

Design( 設計 ) 製作畫面 , 加程式碼

Run( 執行 ) 程式執行

Break( 中斷 ) 除錯

Page 12: Visual Basic  程式設計

What can we do in “Break” mode

當 VB 進入中斷模式後,你就能夠: 修改應用程式的程式碼。 知道現在正在執行那一個程序。 檢視及改變變數或屬性的內容值。 改變程式執行的流程。 執行 VB 的敘述或程序。

Page 13: Visual Basic  程式設計

How to get into “Break” mode

碰到設定的中斷點碰到 Stop 敘述以 F8 或 Shift-F8 啟動程式執行按下 Ctrl+Break 組合鍵,或是工具列中的 Break 鈕

Page 14: Visual Basic  程式設計

How to get into “Break” mode(cont’d)

應用程式發生執行時期的錯誤,按下 Debug 鍵放在 Debug.Assert 敘述後面的運算式運算的結果是 False

Page 15: Visual Basic  程式設計

設定中斷點

使用 Toggle Breakpoint 命令按下 F9 鍵使用滑鼠的左鍵點中欲設定中斷點的程式碼的 Margin Indicator 區

Ctrl+Shift+F9 Clear all breakpoints

Page 16: Visual Basic  程式設計

使用 Stop 敘述

可以隨著程式碼一起儲存起來 製成 EXE 之後不會失效

Sub cmdSubmit_OnClick()

'Enter Break mode

Stop

End Sub

Page 17: Visual Basic  程式設計

使用 Debug.Assert 方法

接在 Debug.Assert 後面的運算式運算的結果是 False 便中斷 製成 EXE 之後就會完全失效 Private Sub cmdCount_Click()

Dim intCounter As Integer

For intCounter = 1 To 10

Debug.Assert intCounter < 5

Next

End Sub

Page 18: Visual Basic  程式設計

使用 Debug 工具列

使用滑鼠的右鍵點中工具列上空曠的地方,再選擇 Debug 命令

Page 19: Visual Basic  程式設計

追蹤程式方法

逐行 (Step Into) F8逐程式 (Step Over) Shift-F8跳出 (Step Out) Ctrl-Shift-F8執行至游標處 (Run to Cursor) Ctrl-F8

Page 20: Visual Basic  程式設計

追蹤程式方法 (cont’d)

設定下個執行點 (Set Next Statement) Ctrl-F9顯示下個執行點 (Show Next Statement)

Page 21: Visual Basic  程式設計

使用 Watch 視窗

使用 Watch 視窗在程式進入中斷模式時,檢視變數的內容值或運算式的結果 Debug/Add WatchDebug/Edit Watch

Page 22: Visual Basic  程式設計

使用 Quick Watch

想在 VB 進入中斷模式時監視並未加到Watch 視窗的變數、屬性或運算式Debug/Quick Watch

Page 23: Visual Basic  程式設計

使用 Immediate 視窗

利用 Immediate 視窗呼叫程序、計算運算式、或是改變屬性或變數的值 用來顯示錯誤訊息

Page 24: Visual Basic  程式設計

把資料列印到 Immediate 視窗

在 Immediate 視窗中使用 Print 方法在應用程式中使用 Debug.Print 方法

Print BackColor

? BackColor

Page 25: Visual Basic  程式設計

使用 Debug.Print

不用中斷程式的執行,就可以檢視欲檢視的變數、屬性或運算式不會影響使用者輸出的畫面 Debug.Print 方法會和專案的程式碼儲存在一起

Debug.Print "Salary = " & curSalary

Page 26: Visual Basic  程式設計

Immediate 視窗的進階用法

改變屬性或變數的內容值

測試程序的結果

frmMain.BackColor = 255

intMaxRows = 50

dblResult = Quadratic(2, 8, 8)

Page 27: Visual Basic  程式設計

Immediate 視窗的進階用法 (cont’d)

在 Immediate 視窗中取得錯誤代碼所代表的含意

可以輸入任何運算除了不接受宣告

error 58

Page 28: Visual Basic  程式設計

使用 Local 視窗

觀察目前執行的程序可以看得到的變數View/Locals Window 

Page 29: Visual Basic  程式設計

使用 Call Stack 視窗

存放已經被呼叫,但是還沒有執行結束的所有程序 View/Call StackFunction A Function B Function C

Page 30: Visual Basic  程式設計

除錯基本程序

在可疑的地方設中斷點在過程中順便把可疑的變數加入監看視窗修改可疑之處,在測試之 ~~

Page 31: Visual Basic  程式設計

Error

On Error GoTo line On Error Resume NextOn Error GoTo 0