第10章-程序调试和错误处理课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《第10章-程序调试和错误处理课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 10 程序 调试 错误 处理 课件
- 资源描述:
-
1、2022-12-4清华大学出版社110.1 VB程序的错误类型程序的错误类型10.2 VB程序的工作模式程序的工作模式 10.3 程序调试程序调试10.4 错误捕获及处理错误捕获及处理2022-12-4清华大学出版社2【目的要求】1.理解程序的错误类型;2.掌握VB提供的常用调试工具的使用3.3.掌握错误的捕获与处理方法;【重点】错误的捕获与处理方法;2022-12-4清华大学出版社3VB应用程序的错误一般可分为3类,即编译错误(语法错误)、运行错误和逻辑错误。1.编译错误:指程序在编译时出现的错误(语法错误)。2.运行错误:运行错误是指程序本身没有编译(语法)错误,这种错误在编译时很难发现,
2、只是在运行时才能暴露出来。例如下面求某个数阶乘的函数:Private Sub Command1_Click()Print fact(14)End Sub程序本身没有任何语法错误,但在程序运行过程中,语句Print fact(14)(计算14的阶乘)的返回的值超出整型数值的范围,产生数据溢出导致程序出错。Private Function fact(ByVal n As Integer)As Integer Dim s As Integer,i As Integer s=1 For i=1 To n s=s*i Next i fact=s End Function2022-12-4清华大学出版社4
3、逻辑错误是指从语法上看程序代码是有效的,并且也可以运行,但得不到应有(正确)的结果。与上述两种错误不同,逻辑错误不报告错误信息。【例10.1】编程计算0.1+0.2+0.3+0.9的值。Private Sub Command1_Click()Dim i As Single,s As Single For i=0.1 To 0.9 Step 0.1 s=s+i Next i Print sEnd Sub正确的结果应该是正确的结果应该是4.5,但按照上面的代码,结果却是,但按照上面的代码,结果却是3.6。2022-12-4清华大学出版社510.2 VB程序的工作模式程序的工作模式VB程序有三种工作
4、模式:设计模程序有三种工作模式:设计模式(式(Design Time)、运行模式)、运行模式(Run Time)和中断模式)和中断模式(Break Model)。)。1.设计模式设计模式2.运行模式运行模式3.中断模式中断模式在中断模式下,暂停应用程序的在中断模式下,暂停应用程序的执行,此时可以检查程序代码,执行,此时可以检查程序代码,并可以进行修改,也可以检查数并可以进行修改,也可以检查数据是否正确,修改完程序后,可据是否正确,修改完程序后,可继续执行程序。继续执行程序。VB所有调试手段所有调试手段均可以在中断模式下应用。均可以在中断模式下应用。可以用以下四种方式进入中断模可以用以下四种方式
5、进入中断模式:式:l l 在在“运行运行”模式下,执行模式下,执行“运行运行”菜单中的菜单中的“中断中断”命令;命令;l l 在程序中设置断点,程序在程序中设置断点,程序运行到断点处时自动进入中断模运行到断点处时自动进入中断模式;式;l l 在程序中加入在程序中加入“STOP”语语句,程序运行到该语句处时自动句,程序运行到该语句处时自动进入中断模式;进入中断模式;l l 在程序运行过程中,如果在程序运行过程中,如果出现错误,则自动进入中断模式;出现错误,则自动进入中断模式;从语法和算法设计思路来看,都没有错误,但始终得不到正确的结果。这类错误是所有错误中最难诊断、最难解决的错误,只有通过调试工
6、具的帮助,对程序进行逻辑分析、代码调试及分析、比较运行结果等综合手段才能最终加以解决。10.3 程序调试10.3.1 Visual Basic程序调试工具 为了使用调试工具,应首先进入中断模式,此时程序中的变量和控件的属性值都被保留下来,为用户分析应用程序的当前状态,解决程序的各种错误提供了有力的保障。图10-6所显示的【调试】工具栏为用户提供了许多功能强大的调试工具。2022-12-4清华大学出版社6图图10-6 运用这些调试工具可以对产生逻辑错误的程序进行调试,对程序的调试大致分为三个步骤:第一步是设置断点;第二步是跟踪程序运行;第三步是使用调试窗口。2022-12-4清华大学出版社7例:
7、验证【例例:验证【例10.1】的运行结果错在何处?】的运行结果错在何处?(1)在程序代码区人工设定一个断点。(2)运行程序,当执行到了设置断点的代码行时,程序终止进入中断状态,将鼠标移动到某个变量上面,可以看到设置断点代码行中变量的值。2022-12-4清华大学出版社8l 逐语句执行逐语句执行在调试工具栏上有一个单步执行程序的按钮。单击该按钮可以单步执行程序。也可以用热键F8来实现单步执行程序,或者在【调试】菜单上选取【逐语句】选项。l 逐过程执行逐过程执行“逐过程执行”是把被调用的过程视为一个基本单位来执行,然后转回到当前过程的下一语句。操作方法:单击“调试”工具栏上的“逐过程”按钮。也可以
8、用组合键Shift+F8或“调试”菜单上的“逐过程”选项。l跳出跳出当使用逐语句方式进入到一个过程中,如果确认该过程的语句绝对没有问题,可以单击【调试】工具栏的【跳出】按钮或按下快捷键Ctrl+Shift+F8,从当前过程中跳出,去执行过程调用者的下一条语句。2022-12-4清华大学出版社9在上面的方法中我们只通过设置断点和跟踪程序运行这两步,就已经检查出程序的错误了。对于较复杂的程序的调试,需要使用VB提供的调试窗口来完成。调试窗口主要包括立即窗口、本地窗口、监视窗口等。l运行到光标处运行到光标处 在对程序进行跟踪时,想略过不感兴趣的部分代码(如次数很多循环语句),这时可以把光标设置在需要
9、停止运行的代码上,然后按下快捷键Ctrl+F8或选择【调试】菜单的【运行到光标处】选项。例:使用调试窗口来完成调试【例题例:使用调试窗口来完成调试【例题10.1】的运行结果错在何处?】的运行结果错在何处?2022-12-4清华大学出版社10只显示当前过程中变量的值(即使是全局变量,也不会显示)。打开本地窗口的步骤:1)设置断点后,启动程序;2)程序被中断后,单击【视图】菜单中的【本地窗口】选项或单击【调试】工具栏的【本地窗口】按钮。l监视窗口监视窗口 使用【监视】窗口有两种用法:一是可用来显示某些表达式或变量的值,以确定这写表达式或变量的结果是否正确;二是可以设置当某个表达式返回True时,强
10、迫程序中断。2022-12-4清华大学出版社11l用法一:例:通过【监视】窗口对【例10.1】进行调试,检测变量s和i的值的变化情况。l用法二:这种用法是在当表达式的值满足某个条件时,可以使应用程序自动进入到中断模式的一种调试手段。这种方法不需要在代码区设置断点。例:在【例10.1】中,为了检测当变量s的值大于3时,循环变量i的值;可以通过对【监视窗口】的相关设置来完成。思考:思考:判断12100的累加结果在i?时累加值超过4000,使用【监视窗口】如何完成?2022-12-4清华大学出版社12使用立即窗口可以检查某个属性或变量的值,还可以对表达式求值、为变量或属性赋值。立即窗口的使用有下面三
11、种:(1)在设计模式下,直接在立即窗口中对变量赋值,或使用Print方法输出变量的值。(2)在应用程序中,使用Debug.Print 语句把信息输入到立即窗口。例如,将【例10.1】的程序代码中的输出语句改为“Debug.Print s”,运行结果会在立即窗口中输出。(3)在中断模式下,可以在立即窗口中使用Print方法输出当前变量或控件的值,也可以对当前变量或控件的属性赋值。注意:在立即窗口中,不接受数据声明,如:Dim x as Integer。2022-12-4清华大学出版社13 VB提供的各种调试工具,不仅可以帮助用户检查程序的逻辑错误,而且还可以帮助用户理解程序的执行过程,如过程(函
展开阅读全文