在visual basic中调试程序

上传人:mg****85 文档编号:49705760 上传时间:2018-08-01 格式:PPTX 页数:27 大小:169.66KB
返回 下载 相关 举报
在visual basic中调试程序_第1页
第1页 / 共27页
在visual basic中调试程序_第2页
第2页 / 共27页
在visual basic中调试程序_第3页
第3页 / 共27页
在visual basic中调试程序_第4页
第4页 / 共27页
在visual basic中调试程序_第5页
第5页 / 共27页
点击查看更多>>
资源描述

《在visual basic中调试程序》由会员分享,可在线阅读,更多相关《在visual basic中调试程序(27页珍藏版)》请在金锄头文库上搜索。

1、调试Il debug语法错误编程错误包括语法错误、运行时错误和逻辑错误。不正确地创建代码时就会出现语法错误,包括错误 地输入关键字,遗漏了必要的标点符号或者不正确 的结构。Visual Basic包含有【自动语法检测】选项,可以在 用户编写程序时检测和更正语法错误。如果使用了 这个选项,Visual Basic就会在用户输入程序时解释 这个程序。当它发现错误时,就会加亮显示这个程 序代码并显示一个消息框来解释原因和提供帮助。 这样用户就可以在继续编程之前更正错误。运行时错误当程序语句师徒执行一条不可能执行的操 作时,就会发生运行时错误。常见的运行时错误是试图从一个不存在的 文件中读取数据,另一

2、个是试图执行被零 除的操作。在用户的程序中为这些错误提供出错处理 函数和错误处理例程是很重要的。逻辑错误当应用程序不能按期望的方式执行时会发 生逻辑错误。这些错误是很难发现的。因 为应用程序的语法完全合法,运行时也不 执行非法操作,但是仍然会产生错误。这 类错误通常不会产生出错消息。验证应用 程序执行的唯一方法就是测试它并分析运 行结果。中断模式使用Visual Basic开发应用程序时,主要会用到两种模 式:设计模式是创建和编辑程序用的,运行模式是看程 序的运行效果用的。中断模式可以中止应用程序的执行。在中断模式下,可 以修改应用程序的代码、确定已经被调用的活动过程, 查看变量、属性和表达式

3、的值,修改程序流程和执行 Visual Basic语句。在运行程序时遇到断点、遇到Stop语句、触发了已放置 的查看表达式、在程序执行时按下了控制键加暂停键、 程序代码行中的语句生成了一个运行时错误,在出现的 提示框中单击了【调试】,Debug. Assert语句被判断 为False时,Visual Basic会进入中断模式。设置断点断点是程序中的一个标志,它告诉Visual Basic暂停执 行。如果你怀疑程序中的某个地方有问题,想要停止执 行并使用调试工具,就要在那个地方设置断点。断点是 临时存在的,不会保存在程序中。设置断点就是把插入点位于过程中的某一行,在这里程 序的执行将会中止。在【

4、调试】菜单上,单击【切换断点】,或按下F9键, 单击这行程序代码旁边的页边指示器,用鼠标右键单击 这行程序代码,在快捷菜单上单击【切换】,然后选择 【断点】,可以添加断点。把代码行设置为某种断点颜色,在【格式选项】中可以 定义这个颜色。另外,在【调试】菜单中,单击【清除 所有断点】可以清除所有断点。使用Stop语句Stop语句与断点相似,只是它直到被删除 之前,一直保留在某段程序中。在程序编 译期间,Stop语句在操作上类似于End语 句。乱用Stop语句会造成未知的运行时错 误。使用Debug对象的Assert方法使用Debug对象的Assert方法可以按照预先 设定的条件进入中断模式。这个

5、方法使用 布尔表达式来决定是否进入中断模式。按 照“Debug. Assert 布尔表达式”的语法来 应用Debug. Assert方法。使用调试工具栏当程序在用户认为会发生问题的地方中止 时,可以使用Visual Basic提供的扩展调试 工具来检查问题。调试工具栏提供了使用最常用的调试功能 的按钮。如【启动】、【中断】、【结束 】、【切换断点】、【逐语句】、【逐过 程】、【跳出】、【本地窗口】、【立即 窗口】、【监视窗口】、【快速监视】、 【调用堆栈】。监视窗口输入监视表达式可以告诉Visual Basic监视 哪个变量或表达式,以及想让Visual Basic 中止程序执行的上下文提示或

6、条件。Visual Basic会监视用户选择的表达式,当程序进 入中断模式时,就会告诉用户它的值。你 还可以告诉Visual Basic当监视表达式之一 为True或其值改变时进入中断模式。如果 变量在循环结构中改变时,这个方法就特 别有用。如果与快速监视功能结合使用, 监视窗口就会成为检测和修改错误的一种 高效工具。添加监视表达式要添加监视表达式,打开【添加监视】对话框并指定表达式、 上下文和监视类型选项。在【调试】菜单上,单击【添加监视】,在【表达式】框中, 输入要判断的表达式名称,在代码编辑器中添加监视表达式, 从代码编辑器中选择要监视的表达式。在【添加监视】对话框的【上下文】选项组中,

7、设置一个范围 ,Visual Basic会在这个范围内监视表达式的值。在【上下文】 选项组中,选择合适的过程或模块名称。【监视类型】单选框中设置了Visual Basic响应监视表达式的方 式。在确定了Visual Basic应该响应监视表达式的方式之后,在 【监视类型】单选框中选中一个单选项,然后单击【确定】。在监视窗口中,图标会出现在每个表达式的左边,并表明表达 式的类型。编辑或删除监视表达式可以编辑或删除监视窗口中列出的任何监视表 达式。在监视窗口中,选中要编辑的表达式,在【调 试】菜单上,单击【编辑监视】,或按下控制 键加W,就会出现【编辑监视】对话框,非常 方便。这时可以在【编辑监视

8、】对话框中修改表达 式、判断变量的范围或监视类型,然后单击【 确定】。如果希望删除监视表达式,在监视窗口中,选 中要删除的表达式并按下删除键即可。使用快速监视如果没有定义监视表达式,而又想查看某 个变量、属性或表达式的值,可以使用快 速监视功能。要想继续监视这个表达式, 可以把它添加到监视窗口中。在代码编辑器中,选择表达式,在调试工 具栏上单击【快速监视】按钮,在【快速 监视】对话框中,单击【添加】,就可以 把表达式添加到监视窗口中。从立即窗口中打印输出要测试表达式,就要打印输出它们的值,任何有效的表达式,包括涉及属性 的表达式,都可以使用立即窗口来进行判断。在中断模式下,在立即窗口中直接输入

9、Print方法,就可以打印输出到立即窗 口。立即窗口的范围只限制在当前过程。在当前过程中声明的局部变量、在当前 程序代码模块中声明的模块变量以及全局变量,但不会显示任何超出范围的 变量或属性。当程序在中断模式下时,焦点会移动到立即窗口中来检查数据。你可以使用 立即窗口来判断任何有效的表达式,包括涉及属性的表达式。当前活动的窗 体或模块决定了范围。如果程序在属于窗体或类的程序段暂停,你就可以无 须指定窗体或类而引用窗体的属性或局部变量了。如果程序在另一个模块或窗体中暂停,你就必须显式地指明窗体名称了。问号是一个有用的表示Print方法的速记标记。问号与Print含义相同,可以用 在使用了Prin

10、t的任何上下文范围内。在立即窗口中检查数据的方法是在立即窗口中单击鼠标。在语句输入或粘贴到立即窗口中,然后按下回车键,这时立即窗口会执行这 个语句,并作出响应。使用Debug对象的Print方法Debug对象的Print方法把输出发送到立即窗口,不 进入中断模式。程序的执行不需要为了让用户得到 应用程序运行情况的反馈而中止,返回信息出现在 不同的地方,调试程序作为窗体的一部分保存。使用“Debug. Print 表达式列表”的语法可以在全 速运行情况下跟踪变量的值。如果忽略表达式列表 ,就会打印一条空白行。分号使用列来分开几个 值。当应用程序被编译为可执行文件时,Debug. Print 语句

11、就会被删除。但是Visual Basic不会删除作为 Debug. Print参数的函数调用。函数的结果不会被 打印输出时,函数的作用也会继续在编译后的可执 行文件中存在。立即窗口更广泛的用途你还能以其它方式来使用立即窗口测试自己的程 序。立即窗口可以设置属性和变量的值。在排除可能造 成错误的原因时,有时需要测试特殊数据值的影 响。立即窗口还可以用来测试过程的结果。使用立即窗 口调用子过程或函数过程,可以用任意给定的参数 来测试过程。按下回车键以后,Visual Basic会切换 到运行模式执行依据,然后返回中断模式。立即窗口还可以用来显示错误消息。可以使用立即 窗口来获得有关具体错误编号的信

12、息。使用立即窗 口来显示错误消息的方法是:在立即窗口中输入错 误编号,按下回车键,这时就会出现相关错误消 息。立即窗口中的快捷方式在输入语句之后,把插入点放置在这个语句之 后,按回车键可以再次执行它。在按下回车键之前,可以编辑当前的语句来修 改它的作用效果。可以使用鼠标或方向键在立即窗口中移动。除 非在想要执行的语句上,否则不要按回车键。按下控制键加首键可以把光标移动到立即窗口 的顶端,按下控制键加尾键可以把它移动到底 端。按下首键可以把光标移动到当前行的行首,按 下尾键可以移动到当前行的行尾。使用本地窗口在中断模式下,可以使用的另一个调试工 具是本地窗口。本地窗口显示了当前过程 范围内的所有

13、变量的值。当程序的执行从 一个过程到另一个过程时,本地窗口中的 内容仅仅反映用于当前过程中的变量。本地窗口有四个组成元素:【调用堆栈】 按钮,表达式、值和类型。使用调用堆栈跟踪程序流程调用堆栈功能可以创建一个过程列表,通过几个活动过程调来跟踪程序的流 程。活动过程调用是指应用程序中那些已经启动,还没有结束的过程,使用 这个工具,可以验证过程执行顺序是否正确。一个过程可以调用第二个过程,第二个过程调用第三个过程,这些调用都是 在第一个过程完成之前开始的。这样的嵌套过程调用很难跟踪。调用堆栈可 以显示出这种流程。只有程序在中断模式下才可以显示调用堆栈。在调试工 具栏上单击【调用堆栈】按钮,或在中断

14、模式下按下控制键加L,可以调用调 用堆栈。【调用堆栈】对话框列出了系列嵌套调用中的所有活动过程调用,把最早的 活动过程调用放在了列表的底部,后面的过程调用放在了列表的顶端。为每个过程提供的信息都是以模块或窗体名称开头的,后面是被调用过程的 名称。因为【调用堆栈】对话框并不表明赋给窗体一个实例的变量,所以它 不区分窗体或类的几个实例。可以使用【调用堆栈】对话框来显示过程中的语句,这些语句把应用程序的 控制传递给了列表中的下一个过程。在【调用堆栈】对话框中选中要显示的过程调用,单击【显示】按钮,【调 用堆栈】对话框就会关闭,过程出现在代码编辑器中,代码编辑器中的光标 位置表明了调用【调用堆栈】对话

15、框中下一个过程的语句。在Mouse Down期间中断执行如果在Mouse Down事件过程期间中断执行, 则可松开鼠标键或使用鼠标来做别的任务。但 在继续执行时,应用程序会认为鼠标键一直是 被按下的。在再次按下鼠标键并松开它之前不 可能获得Mouse Up事件。在运行时按下鼠标键,将会认为在Mouse Down事件过程中有一个断点,从而在这里再 次中断执行。在这种情况下将再也得不到 Mouse Up事件。解决的方法通常是删除 Mouse Down过程中的断点。在Key Down期间中断执行如果在Key Down期间中断执行,则可有大 致相同的考虑。如果在Key Down过程中保 留一个断点,则

16、可能再也得不到Key Up事 件。在Got Focus或Lost Focus期间中断 执行如果在Got Focus或Lost Focus事件过程期 间中断执行,则系统消息的计时可能会产 生不一致的结果。要使用Debug. Print语句 代替Got Focus或Lost Focus事件过程中的 断点。模拟对话框和消息框禁止事件由于调试器中潜在的冲突问题,当显示一个模拟窗体或 消息框时,开发环境将不能产生事件。这样一来,事件 就被禁止,直到这个模拟窗体或消息框被释放为止。重点事件的禁止只发生在开发环境中。一旦项目编译通 过后,即使显示模拟窗体或消息框时也仍旧会产生事 件。一个带有定时器控件的窗体在开发环境中运行,选择【 工具】菜单上的【选项】打开【选项】对话框。这个对 话框是模拟对话框。定时器的Timer事件就会被禁止, 直到这个对话框被释放。设计时,一个带有定时器控件的用户控制的实例被放到 一个窗体上。选择【工程】菜单上的【添加类模块】对 话框,这个对

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号