资源描述
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,常见错误类型与程序调试方法,10、1,常见错误类型,程序中得错误大体可分为三类:即编译错误、实时错误与逻辑错误。,编译错误多数就是因为不正确得代码产生得,即在编写程序时书写了错误得语法,从而导致VB编译器无法正确解释源代码而产生得错误,因此也称为语法错误。,实时错误就是指应用程序运行期间,一条语句试图执行一条不可能执行得操作而产生得错误,也称为运行时错误。,逻辑错误就是指程序得运行结果与程序员得设想有出,入,时产生得错误。这类错误并不直接导致程序在编译期间与运行期间出现错误,较难发现。,返回,10、2,程序中逻辑错误得特点,逻辑错误得特点就是源程序在语法上没有问题,也没有出现无效操作等类型得运行错误,但就是程序未按预期方式执行,产生了不正确得运行结果。,逻辑错误只能通过对程序运行结果进行分析才能被发现。,返回,10、3,程序调试方法,调试程序就是一件复杂得工程,不但要求程序员对系统设,计,结果非常熟悉,思路清晰,更需要不断地在实践中积累经验。,这里程序调试得基本方法包括:中断模式调试、调试工具调试与编写错误处理程序。重点介绍前两种方法。,1、中断模式,在VB集成开发环境中,程序有设计、运行与中断三种模式VB得标题栏会列出当前得模式。在设计模式下,程序员可改变应用程序得设计与代码,但所作不能改变对应用程序运行得影响;在运行模式下,程序员可以监视应用程序得行为,但不能直接修改代码;中断模式可以暂停应用程序得执行,下一页,返回,10、3,程序调试方法,并允许程序员在任何时候快速查瞧应用程序得状态,显示变量与属性得值,方便程序员发现程序中存在得问题。,当一个应用程序处于中断模式时,可以完成下列工作:,(1)修改应用程序中得代码。,(2)观察应用程序得接口条件。,(3)确定已被调用得活动过程。,(4)监视变量、属性得值。,(5)查瞧或控制应用程序运行得下一个语句。,(6)立即运行VB语句。,(7)手工控制应用程序得运行。,下一页,返回,上一页,10、3,程序调试方法,在运行应用程序时进入中断模式得方法如下:,(1)按C trl+Break键。,(2)选择“运行”,|,“中断”命令。,(3)单击标准工具栏上得“中断”按钮。,在下列情况下自动进入中断模式:,(1)语句中产生一个运行错误(“选项”对话框“通用”选项卡上得“发生错误时中断”选项处于选中状态)。,(2)“添加监视”对话框定义得中断表达式发生改变或变成“真”。,(3)执行含有断点得行。,(4)执行到一个Stop语句。,下一页,返回,上一页,10、3,程序调试方法,2、设置与清除断点,设置断点可以使程序在指定得位置停止运行,并且不运行包含断点得语句。把应用程序切换到中断状态,便于用户查瞧代码或检查变量或属性得值。,设置断点得方法:,(1)选择“调试”,|,“切换断点”命令。,(2)按功能键F9,。,(3)在需要设置断点得代码行上单击鼠标右键,在弹出得快捷菜单中选择,“,切换”,|“,断点”命令。,下一页,返回,上一页,10、3,程序调试方法,(4),单击代码编辑器中该行代码左边得“页边提示器”栏。,要清除已经设置得某个断点,可在断点位置执行以上同样得操作,若要清除所有断点则选择“调试”,|“,菜单中选择清除所有断点”命令。,3、Stop,语句得使用,在一个过程中放置一个,Shop,语句就是设置断点得备用方法。一旦,VB,遇到一个,Shop,语句,它会暂停程序得执行并切换到中断模式,如要继续应用程序得运行,可选择“运行”,|“,继续”命令。,4、,调试工具栏,VB,集成开发环境专门提供了一个用于程序调试得工具栏。,下一页,返回,上一页,10、3,程序调试方法,在设计或中断模式下,将鼠标移动到“工具”菜单上右击,在随后出现得快捷菜单上选择“调试”命令,出现如,图,10-1,所示得“调试”工具栏。,下面重点介绍与程序调试有关得几个工具按钮得作用。,(1),切换断点,在程序代码中设置或取消断点,程序执行到该语句时停下来。,注意,:,设置断点得方法就是在代码窗口中选择一条语句,单击“切换断点”按钮或按,F9,键,该语句变为暗红色,即设置成功,程序中允许设置多个断点。再次用同样得方法便取消断点。按,Ctrl+Shift+F9,组合键清除所有断点。,下一页,返回,上一页,10,大家应该也有点累了,稍作休息,大家有疑问得,可以询问与交流,10、3,程序调试方法,(2),逐语句与立即窗口,逐语句就是指程序将逐个语句执行,一句一停。在逐语句执行时,用户会瞧到正在执行得语句为黄色,同时出现一个“立即”窗口,用户可以在“立即”窗口使用,Print,方法或问号,(?),查瞧变量或表达式得值,如,图,10-2,所示。,(3),逐过程,每单击一次“逐过程”按钮将执行一个过程或函数,同时也会出现一个“立即”窗口。用户可以在“立即”窗口使用,Print,方法或问号,(?),查瞧变量或表达式得值。与逐语句相比,二者得不同之处在于逐过程不跟踪到过程或函数内音,f,。,下一页,返回,上一页,10、3,程序调试方法,(4),跳出,单击“跳出”按钮,跳出当前过程或函数。,(5),本地窗口,用于显示当前过程中所有变量得值。这些变量只就是当前过程中定义得局部变量,不包含全局变量。当程序得执行从一个过程转向另一个过程时,本地窗口得内容也会发生变化。,单击“本地窗口”按钮,再逐语句或逐过程执行程序,就可以在“本地”窗口上瞧到正在执行哪个过程以及该过程变量得当前值与类型,如,图,10-3,所示。,下一页,返回,上一页,10、3,程序调试方法,(6),监视窗口,用于显示某些表达式得值。这可帮助用户随时观察某些表达式或变量得值,以确定这样得结果就是否正确。,需要在监视窗口跟踪观察得表达式或变量,必须选择“调试”,|“,添加监视”命令来添加。,图,10-4,所示就是“添加监视”对话框,在输入框中输入需要监视得表达式或变量。已在监视窗口中得表达式或变量可以编辑,例如删除、改变表达式或变量得监视范围与类型。选择“调试”“编辑监视,(E)”,命令,弹出“编辑监视”对话框,它与图,10-4,基本相似。不同之处在于多了一个“删除”按钮。,下一页,返回,上一页,10、3,程序调试方法,(7),快速监视,使用快速监视可以在断点执行方式下检查没有添加到监视窗口中得表达式、变量或对象属性得值。,使用快速监视得步骤就是,:,在代码窗口中选择要查瞧得变量或表达式。,单击“快速监视”按钮,即可弹出“快速监视”对话框,如,图,10-5,所示,就是快速监视某过程中“,year mod 12”,表达式得当前值。,在“快速监视”对话框中,单击“添加,(A)”,按钮,可以把当前选中得表达式或变量添加到监视窗口中。如果用户没有在代码窗口选中要查瞧得表达式或变量就单击“快速监视”按钮,系统会弹出一个警告框,提示没有选择监视对象。,下一页,返回,上一页,10、3,程序调试方法,(8),调用堆栈,在“调用堆栈”对话框显示一个调用所有活动过程得列表。活动过程就是指那些在应用程序中已经启动但还没有运行结束得过程。,注意,:“,调用堆栈”只能在断点执行方式下使用。它得图标按钮通常就是无效得,(,灰色,),只有当执行到断点时该按钮才有效,单击它即可弹出“调用堆栈”对话框。,例如,在某一应用程序,Form Click(),得过程中调用了通用,sum,过程,当程序运行到断点时,单击“调用堆栈”按钮,即弹出“调用堆栈”对话框,如,图,10-6,所示。,下一页,返回,上一页,10、4,常见错误信息表,常见错误信息表如,表,10-1,所示。,返回,图,10-1,调试工具,返回,图,10-2,逐语句执行与“立即”窗口,返回,图,10-3,本地窗口,返回,图,10-4“,添加监视”对话框,返回,图,10-5“,快速监视”对话框,返回,图,10-6“,调用堆栈”窗口,返回,表,10-1,常见编译错误,下一页,返回,续表,下一页,上一页,返回,
展开阅读全文