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

Slides:



Advertisements
Similar presentations
第一讲:导论 The Introduction  哲学与中国哲学  哲学与哲学史  中国哲学史的历史.
Advertisements

编程加工 信息的. 趣味导入拓展提升大显身手总结反思学以致用 传说古代印度有个国王叫舍罕,他很迷恋棋类,而 宰相达依尔是个聪明的大臣,发明了国际象棋。国王玩 得爱不释手,决定奖赏宰相。达依尔说:陛下,我别无 他求,请你在这张棋盘的第一个格子里赏我 1 粒麦子; 在第二个格子里赏我 2 粒麦子;在第三个格子里赏我.
第 1 章 公共基础知识 第 2 章 Visual Basic程序开发环境 第 3 章 对象及其操作 第 4 章 数据类型及其运算
語文教學 教學理念 竹大附小 陳枝田 將地方圖案插入此投影片 選取〔插入〕功能表 〔圖片〕指令 選取〔從檔案〕指令 選取你的標幟圖片檔案
計算機概論 第4章 基本視窗程式應用 4-1 程式語言簡介 4-2 演算法與流程圖 4-3 視窗程式語言設計 4-4 資料結構.
和码汉字字形技术 和码汉字字形学习法 和码汉字字形输入法.
程式語言(I)- Visual Basic 6.0 第 9 章 結構化程式設計
我们会赞叹生命之花的绚丽和多姿,也会歌颂生命之树的烂漫和青翠,但是生命是如此脆弱……
高中信息技术新课程探讨 算法与程序设计教学实践与探讨 江苏省新海高级中学  张丽.
樂 樂 西 玩 西 玩 門 門.
1.了解VB6.0的功能特点 、集成环境。 2.理解面向对象程序设计的几个概念。 3.掌握VB应用程序设计的步骤。
网 络 课 程 马 鞍 学 网 络 山 课 程 大 络 网 Visual Basic程序设计 第 一 讲 最容易接受的编程语言
VBA应用开发与实例 李 辉 微软课程培训讲师. VBA应用开发与实例 李 辉 微软课程培训讲师.
Pascal 程序设计基础.
程式語言Visual Basic 變數的可視範圍
CH11.
Visual Basic 2010 程式設計16堂特訓 第七堂 VB的迴圈流程控制.
課程名稱:程式設計 授課老師:________
Visual Basic 6.0 學習範本 第三章 基本資料型態.
講師:戴志華 國立台灣大學電機工程研究所 Visual Basic 程式設計 講師:戴志華 國立台灣大學電機工程研究所.
第5章 数组 Visual Basic程序设计.
簡易 Visual Studio 2010 C++ 使用手冊
程式語言 -Visual Basic 變數、常數與資料型態.
新觀念的 VB6 教本 第13章 表單的圖形輸出系統.
副程式 將可以重複使用的程式區塊獨立而成 寫在Private Sub 函數名稱() 副程式碼 End Sub 呼叫副程式
Visual Basic程序设计 第八章 过程 -子程序和函数
ASP动态网页设计实用教程 主讲教师: 开课单位:.
單晶片MCS-51 C語言入門實習 第2章 KEIL-51工具軟體 作者:董勝源.
初识Visual Basic.
第一章 VB概述 本章重点和难点 1.1 VB 概述 1.2 面向对象的程序设计方法基础
Access VBA程序设计 本章重点 Access Basic编程语言 运算符、函数与表达式 Access Basic语句 模块的使用
計算機程式 廖文淵 Department of Computer Science and Engineering
新觀念的 VB6 教本 第七章 讓程式轉彎的控制敘述.
程式語言Visual Basic 重複結構 黃瀧輝 老師 Long Hwai,Huang.
第三章 项目设定.
程式語言Visual Basic 傳址與傳值
3.5 用递归法解决问题 黄学鸿.
第12章 VBA模块设计.
RWM600 (13.56MHz) Reader Antenna.
RWM600 (13.56MHz) Reader Antenna.
新觀念的 VB6 教本 第 6 章 資料型別.
第5章 Visual Basic控制结构 之 常用算法举例
Visual Basic 6.0 ——程序设计.
PCR300 (13.56MHz) Reader RS232/USB.
Visual Basic程序设计.
簡易 Visual Studio 2005 C++ 使用手冊
講師:戴志華 國立台灣大學電機工程研究所 Visual Basic 程式設計 講師:戴志華 國立台灣大學電機工程研究所.
VB程序设计语言 主讲教师:王 杨.
VB程序设计语言 主讲教师:王 杨.
程式設計 Visual Basic簡介 週次:2 建國技術學院 資管系 饒瑞佶 2003年9月17日.
程式語言(I)- Visual Basic 6.0 第 8 章 模組化程式設計I-副程式與自定函數.
金融資訊管理 撰寫VBA的基本事項.
VB语言程序设计教程.
小结 郭清溥.
Visual Basic 程序设计教程.
现代信息技术 微电子技术 计算机技术 传感技术 通信技术 处理、存储信息的技术 传感、采集技术 传递信息的技术
電腦軟體設計丙級 Visual Basic簡介 建國科技大學 資管系 饒瑞佶 2010年.
程序基础 2019/4/25.
第二章、第三章错题分析.
VC++程序调试演示 An Overview of ICU 19th International Unicode Conference
程式設計 Visual Basic簡介 週次:4 建國技術學院 資管系 饒瑞佶 2003年10月18日.
Print方法和函数 2019/5/19.
MATLAB 程式設計 程式除錯 方煒 台大生機系.
Do While 迴圈 東海大學物理系‧資訊教育 施奇廷.
解析算法与枚举算法.
算法与Visual Basic程序基础(二)
第二单元 第3课 Matlab命令执行方式 1.Matlab命令执行方式 2.程序调试.
程序调试与错误处理.
國立勤益科技大學 冷凍空調與能源系 實務專題成果展
Word 2010 文書處理技巧 圖資中心資訊組 李訓榮.
Presentation transcript:

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

第十七章 程式的除錯

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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