第12章程序调试电子课件 中职 高教版 Visual Basic程序设计(第4版).pptx
-
资源ID:88335001
资源大小:400.02KB
全文页数:21页
- 资源格式: PPTX
下载积分:20金币
快捷下载
会员登录下载
微信登录下载
三方登录下载:
微信扫一扫登录
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
第12章程序调试电子课件 中职 高教版 Visual Basic程序设计(第4版).pptx
第12章 程序调试电子课件 中职 高教版 Visual Basic程序设计(第4版)单元十二单元十二单元十二单元十二 程序调试程序调试程序调试程序调试单元十二单元十二 程序调试程序调试错错错错 误误误误 类类类类 型型型型 1 1 1 1调调调调 试试试试 和和和和 排排排排 错错错错2 2 2 2错错错错 误误误误 陷陷陷陷 阱阱阱阱 3 3 3 312.1 错误类型1.编辑错误 当用当用户在代在代码窗口窗口编辑代代码时,VB会会对程序程序直接直接进行行语法法检查,当,当发现程序中存在程序中存在输入入错误,如,如语句没句没输入完、关入完、关键字字输入入错误等,等,VB会会弹出出对话框,提示出框,提示出错信息。信息。2.编译错误 编译错误是指是指单击了了“启启动”按按钮,VB开始运行程开始运行程序前,先序前,先编译执行的程序段行的程序段时产生的生的错误。此。此类错误是由于用是由于用户未定未定义变量、量、遗漏关漏关键字等原因造成的。字等原因造成的。这时,VB也将也将弹出出对话框,提示出框,提示出错信息。出信息。出错的位的位置被高亮度置被高亮度显示,同示,同时VB停止停止编译。这时,用,用户必必须单击“确定确定”按按钮,关,关闭出出错对话框,然后框,然后对出出错行行进行修改。行修改。3.运行错误 运行运行错误是指是指VB在在编译通通过后,运行代后,运行代码时发生的生的错误。这类错误往往是由于指令代往往是由于指令代码执行了非法操作引行了非法操作引起的。如起的。如类型不匹配、型不匹配、试图打开一个不存在的文件等。打开一个不存在的文件等。例如,属性例如,属性FontSize的的类型型为整型,若整型,若对其其赋值的的类型型为字符串,系字符串,系统运行运行时将将显示示图示的提示出示的提示出错信息。信息。当用当用户单击了了“调试”按按钮,进入中断模式,光入中断模式,光标停留停留在引起出在引起出错的位置,此的位置,此时允允许修改代修改代码。4.逻辑错误 程序运行后,如果得不到期望的程序运行后,如果得不到期望的结果,果,这说明程序存在明程序存在逻辑错误。例如,运算符使用不正确、。例如,运算符使用不正确、语句的次序不句的次序不对、循、循环语句的起始句的起始值、终值不正不正确等。通常,确等。通常,逻辑错误不会不会产生生错误提示信息,提示信息,因此因此错误较难排除,排除,这时就需要程序就需要程序员仔仔细地地阅读分析程序,并要有一定的分析程序,并要有一定的调试程序的程序的经验。返回目录12.2 调试和排错12.2.1 VB的3种模式1.设计模式 在在设计模式下,可以模式下,可以进行程序的界面行程序的界面设计、属性、属性设置、代置、代码编写等,此写等,此时标题栏显示示“设计”,在此模,在此模式下不能运行程序,也不能使用式下不能运行程序,也不能使用调试工具。工具。2.运行模式 执行行“运行运行”菜菜单“启启动”命令,命令,进入运行模式,入运行模式,标题栏显示示“运行运行”。在此。在此阶段,可以段,可以查看程序代看程序代码,但不能修改。若要修改代但不能修改。若要修改代码,必,必须选择“运行运行”菜菜单“结束束”命令,或命令,或单击工具工具栏上的上的“结束束”按按钮,回到,回到设计模式;也可以模式;也可以选择“运行运行”菜菜单“中断中断”命令,或命令,或单击工具工具栏上的上的“中断中断”按按钮,进入中断模式。入中断模式。3.中断模式 当程序运行当程序运行时,单击了了“运行运行”菜菜单“中断中断”命令,命令,或或单击工具工具栏上的上的“中断中断”按按钮,进入中断模式,此入中断模式,此时标题栏显示示“Break”。当程序出。当程序出现运行运行时错误时,也可,也可以以进入中断模式。入中断模式。在中断模式下,运行的程序被挂起,在中断模式下,运行的程序被挂起,可以可以查看代看代码、修改代、修改代码、检查数据。修改数据。修改结束,再束,再单击“继续”按按钮继续程序的运行,或程序的运行,或单击“结束束”按按钮停止程序停止程序执行。行。12.2.2 插入断点和逐语句跟踪 可在中断模式下或可在中断模式下或设计模式模式时设置或置或删除断点。当除断点。当应用程序用程序处于空于空闲时,也可在运行,也可在运行时设置或置或删除断点,按下除断点,按下F9键,在程序,在程序运行到断点运行到断点语句句处(该语句未句未执行)停下,行)停下,进入中断模式,在此之入中断模式,在此之前所关心的前所关心的变量、属性、表达式的量、属性、表达式的值都可以都可以查看。看。在在VB中提供了在中断模式下直接中提供了在中断模式下直接查看某个看某个变量的量的值,只要把鼠,只要把鼠标指向所关心的指向所关心的变量量处,稍停片刻,鼠,稍停片刻,鼠标下方将下方将显示示该变量的量的值。如果要如果要继续跟踪断点以后的跟踪断点以后的语句句执行情况,只需按行情况,只需按F8键或或选择“运行运行”菜菜单中的中的“逐逐语句句”执行。行。12.2.3 调试窗口1.立即窗口 “立即立即”窗口是在窗口是在调试窗口中使用最方便、最常用窗口中使用最方便、最常用的窗口。可以在程序代的窗口。可以在程序代码中利用中利用Debug.Print方法,把方法,把输出送到出送到“立即立即”窗口;也可以直接在窗口;也可以直接在该窗口使用窗口使用Print语句或句或“?”显示示变量的量的值。2.“本地”窗口 “本地本地”窗口窗口显示当前示当前过程中所有程中所有变量的量的值。当程序的。当程序的执行从一个行从一个过程切程切换到另一到另一过程程时,“本地本地”窗口的内容会窗口的内容会发生改生改变,它只反,它只反映当前映当前过程中可用的程中可用的变量。量。3.“监视”窗口 “监视”窗口可窗口可显示当前的示当前的监视表达式。在表达式。在此之前必此之前必须在在设计阶段,利用段,利用“调试”菜菜单的的“添加添加监视命令命令”或或“快速快速监视”命令,添加命令,添加监视表达式以及表达式以及设置的置的监视类型,在运行型,在运行时显示在示在“监视”窗口,根据所窗口,根据所设置的置的监视类型型进行相行相应的的显示。示。返回目录12.3 错误陷阱12.3.1 On Error语句 错误处理程序的理程序的设计一般可分一般可分为以下三步:以下三步:(1)使用使用On Error语句捕句捕获错误,并把程序流程,并把程序流程转向由向由标号指号指示的示的错误处理程序段。理程序段。(2)编写写错误处理代理代码,对所有可能所有可能预见的的错误都做出相都做出相应的安的安排。排。(3)根据根据错误类型可使用型可使用Resume语句重新句重新执行出行出错语句,或使句,或使用用ResumeNext语句句执行出行出错语句的下一条句的下一条语句句继续运行程序。运行程序。语语 句句说说 明明On Error GoTo line转去以line为行号的程序行继续执行On Error Resume Next从出错语句的下一条语句继续执行On Error GoTo 0关闭当前过程中所有已启动的错误处理程序 错误处理程序示例。建立一个理程序示例。建立一个10次的循次的循环,每次,每次产生生两个两个09的随机整数,并的随机整数,并输出两数的商。若出出两数的商。若出错则执行行错误处理理语句,句,显示信息;否示信息;否则显示正常信息。示正常信息。Private Sub Form_Load()Show Randomize On Error GoTo aa For i=1 To 10 a=Int(Rnd*10):b=Int(Rnd*10)Print a/b Next Print 程序正常结束!Exit Sub aa:Print 分母为零了,程序结束!End Sub 12.3.2 Err对象1.Err对象的方法 使用使用Clear方法,其方法,其语法格式法格式为:Err.Clear 通常,在通常,在处理理错误之后使用之后使用Clear来清除来清除Err对象,如,象,如,在在对On Error Resume Next使用拖延使用拖延错误处理理时就可使就可使用用Clear。每当。每当执行下列行下列语句句时就会自就会自动调用用Clear方法:方法:任意任意类型的型的Resume语句。句。Exit Sub,Exit Function,Exit Property语句。句。任何任何On Error语句。句。Clear方法使用示例。本示例使用方法使用示例。本示例使用Err对象的象的Clear方法将方法将Err对象象之数之数值属性重新属性重新设置置为零,并将其字符串属性零,并将其字符串属性设置置为零零长度字符串。度字符串。如果在代如果在代码中省略中省略Clear方法,方法,则每完成一次循每完成一次循环便会便会显示一次示一次错误信息(信息(发生生错误之后),且不管程序中的之后),且不管程序中的计算算结果是否真的有果是否真的有错误。Dim Result(10)As Integer 声明数声明数组变量量 其元素容易溢出其元素容易溢出Dim indxOn Error Resume Next 将将错误处理的方式理的方式设为“继续下一行下一行”Do Until indx=10 下面下面计算若有算若有错误发生,便生,便显示示错误信息信息 Result(indx)=Rnd*indx*20000 If Err.Number 0 Then MsgBox Err,Error Generated:,Err.HelpFile,Err.HelpContext Err.Clear Else indx=indx+1 End IfLoop2.Raise方法 若运行若运行时错误发生,生,Err对象的属性被填入明确象的属性被填入明确识别错误的信息以及的信息以及处理理这个个错误所使用的信息。所使用的信息。为了在代了在代码中生成运行中生成运行时错误,应使用使用Raise方法。方法。其其语法格式法格式为:Err.Raise number,source,description,helpfile,helpcontext 在任意形式的在任意形式的Resume或或On Error语句之后以及在句之后以及在错误处理子程序内的理子程序内的Exit Sub,Exit Function或或Exit Property语句之后,将句之后,将Err对象的属性重新象的属性重新设置置为零或零或长度度为零的字符串(零的字符串()。可使用)。可使用Clear方法重新明确方法重新明确设置置Err对象。象。3Err对象的属性 Err对象的默象的默认属性是属性是Number。因。因为该默默认属性可以用属性可以用对象名称象名称Err表示,所以不必修改以表示,所以不必修改以前用前用Err函数或函数或Err语句句书写的代写的代码。ErrErr对象的常用属性对象的常用属性属属 性性说说 明明Number返回或设置表示错误的数值,是Err对象的默认属性Description返回或设置一个字符串表达式,包含与对象相关联的描述性字符串HelpContext返回或设置一个字符串表达式,包含Windows帮助文件中主题的上下文IDHelpFile返回或设置一个字符串表达式,表示帮助文件的完整限定路径LastDLLError返回因调用动态链接库(DLL)而产生的系统错误号Source返回或设置一个字符串表达式,指明最初生成错误的对象或应用程序的名称返回目录结束结束返回目录