Presentation is loading. Please wait.

Presentation is loading. Please wait.

講師:戴志華 hana@arbor.ee.ntu.edu.tw 國立台灣大學電機工程研究所 Visual Basic 程式設計 講師:戴志華 hana@arbor.ee.ntu.edu.tw 國立台灣大學電機工程研究所.

Similar presentations


Presentation on theme: "講師:戴志華 hana@arbor.ee.ntu.edu.tw 國立台灣大學電機工程研究所 Visual Basic 程式設計 講師:戴志華 hana@arbor.ee.ntu.edu.tw 國立台灣大學電機工程研究所."— Presentation transcript:

1 講師:戴志華 hana@arbor.ee.ntu.edu.tw 國立台灣大學電機工程研究所
Visual Basic 程式設計 講師:戴志華 國立台灣大學電機工程研究所

2 第十七章 程式的除錯

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

4

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

6 Compile errors(cont’d)
Auto Syntax Check(語法檢查) 選 Tools 功能表的 Options 命令。 選取 Editor 標籤頁。 勾選或清除 Auto Syntax Check 選項。

7 Compile errors(cont’d)
Require Variable Declaration(強制變數宣告) 選 Tools 功能表的 Options 命令。 選取 Editor 標籤頁。 勾選或清除 Require Variable Declaration選項。

8 Compile errors(cont’d)
Combine “Auto Syntax Check” and “Require Variable Declaration” 變數名字大小寫兼具

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

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

11 Visual Basic 的三種模式 Design(設計) 製作畫面,加程式碼 Run(執行) 程式執行 Break(中斷) 除錯

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

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

14 How to get into “Break” mode(cont’d)
應用程式發生執行時期的錯誤,按下 Debug 鍵 放在 Debug.Assert 敘述後面的運算式運算的結果是 False 

15 設定中斷點 使用Toggle Breakpoint 命令 按下 F9 鍵
使用滑鼠的左鍵點中欲設定中斷點的程式碼的 Margin Indicator 區 Ctrl+Shift+F9 Clear all breakpoints

16 使用Stop敘述 可以隨著程式碼一起儲存起來 製成EXE之後不會失效 Sub cmdSubmit_OnClick()
'Enter Break mode Stop End Sub

17 使用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

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

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

20 追蹤程式方法(cont’d) 設定下個執行點 (Set Next Statement) Ctrl-F9
顯示下個執行點 (Show Next Statement)

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

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

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

24 把資料列印到Immediate視窗 在Immediate視窗中使用 Print 方法 在應用程式中使用 Debug.Print 方法
Print BackColor ? BackColor

25 使用 Debug.Print 不用中斷程式的執行,就可以檢視欲檢視的變數、屬性或運算式 不會影響使用者輸出的畫面
Debug.Print "Salary = " & curSalary

26 Immediate視窗的進階用法 改變屬性或變數的內容值 測試程序的結果 frmMain.BackColor = 255
intMaxRows = 50 dblResult = Quadratic(2, 8, 8)

27 Immediate視窗的進階用法(cont’d)
可以輸入任何運算除了不接受宣告 error 58

28 使用Local視窗 觀察目前執行的程序可以看得到的變數 View/Locals Window 

29 使用Call Stack視窗 存放已經被呼叫,但是還沒有執行結束的所有程序 View/Call Stack
Function A  Function B  Function C

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

31 Error On Error GoTo line On Error Resume Next On Error GoTo 0


Download ppt "講師:戴志華 hana@arbor.ee.ntu.edu.tw 國立台灣大學電機工程研究所 Visual Basic 程式設計 講師:戴志華 hana@arbor.ee.ntu.edu.tw 國立台灣大學電機工程研究所."

Similar presentations


Ads by Google