VBA程序的调试:设置断点、单步跟踪、设置监视窗

  Acces的VBE编程环境提供了完整的一套调试工具和调试方法。熟练掌握好这些调试工具和调试方法的使用,可以快速、准确地找到问题所在,不断修改,加以完善。
  一、“断点”概念
  所谓“断点”就是在过程的某个特定语句上设置一个位置点以中断程序的执行。“断点”的设置和使用贯穿在程序调试运行的整个过程。
  “断点”设置和取消有4种方法:
  (1)选择语句行,单击“调试”工具栏中的“切换断点”可以设置和取消“断点”。
  (2)选择语句行,单击“调试”菜单中的“切换断点”项可以设置和取消“断点”。
  (3)选择语句行,按下键盘“F9”键可以设置和取消“断点”。
  (4)选择语句行,鼠标光标移至行首点击可以设置和取消“断点”。
  在VBE环境里,设置好的“断点”行是以“酱色”亮红显示,如图8.25所示。

  二、调试工具的使用
  VBE环境中,右键点击菜单空白位置,弹出快捷菜单,选中“调试”选项使其前边“?”出现,这时就会打开“调试”工具栏.如图8.24所示。

  调试工具栏中主要按钮功能说明见表8.11所示。

  调试工具一般是与“断点”配合使用进行各种调试操作。下面简要介绍“调试”工具栏上的一些主要调试工具的用法。
  1.中断工具钮
  用于暂时中断程序运行,进行分析。此时,在程序中序中断位置会产生一个“黄色”亮杠,如图8.25所示。
  2.本地窗口工具钮
  用于打开“本地窗口”窗口,如图8.26所示。其内部自动显示出所有在当前过程中的变量声明及变量值,从中可以观察各种数据信息。

  本地窗口打开后,列表中的第一项内容是一个特殊的模块变量。对于类模块,定义为Me。Me是对当前模块定义的当前类实例的引用。由于它是对象引用,因而可以展开显示当前实例的全部属性和数据成员。
  实际上,Me类模块变狱还广泛用于VBA程序设计中,它不需要专门定义,可以直接使用。一般编写类模块时,对当前模块的实例引用就可以使用Me关键字。
  3.立即窗口工具钮
  用于打开“立即窗口”窗口,如图8.27所示。在中断模式下,立即窗口中可以安排一些调试语句,而这些语句是根据显示在立即窗口区域的内容或范围来执行的。如果输入Print variablename,则输出的就是局域变量的值。

  4.监视窗口工具钮
  用于打开“监视窗口,窗口,如图8.28所示。在中断模式下,右键点击监视窗口区域会弹出如图所示的快捷菜单,选择“编辑监视…”或“添加监视…”项,则打开“编辑(或添加)窗口”,在表达式位置进行监视表达式的修改或添加,见图8.29所示,选择“删除监视…”项则会删除存在的监视表达式。
  通过在监视窗口增添监视表达式的方法,程序可以动态了解一些变量或表达式的值的变化
  情况,进而对代码的正确与否有清楚的判断。
  5.快速监视工具钮
  在中断模式下,先在程序代码区选定某个变量或表达式,然后点击“快速监视”工具钮,则打开“快速监视”窗口,如图8.30所示,从中可以快速观察到该变量或表达式的当前值,达到了快速监视的效果。如果需要,还可以点击“添加”按钮,将该变量或表达式添加到随后打开的“监视窗口”窗口中,以做进一步分析。

出处:http://www.educity.cn/ncre/ncrefx/201011301007201217.htm

最新文章

  1. Android立体旋转动画实现与封装(支持以X、Y、Z三个轴为轴心旋转)
  2. C# winfrom 窗体的StartPosition 属性
  3. .NET平台下IIS7.5+无后缀名伪静态实现办法
  4. 【leetcode】Regular Expression Matching (hard) ★
  5. javascript中的对象之间继承关系
  6. 转:ORACLE制造方法的比较
  7. 《Linux命令行大全》系列(一、shell是什么)
  8. Mybatis学习之JDBC缺陷
  9. C#:根据银行卡卡号推断银行名称
  10. 常用的一些js和css
  11. 跨域访问http接口的使用
  12. BZOJ5341[Ctsc2018]暴力写挂——边分治+虚树+树形DP
  13. python io-os
  14. POJ 2425 A Chess Game(有向图SG函数)题解
  15. 福州大学oj 1752 A^B mod C ===>数论的基本功。位运用。五星*****
  16. error: Allowed memory size
  17. TCP状态图
  18. 优步UBER司机全国各地奖励政策汇总 (2月22日-2月28日)
  19. 关于解决coursera视频缓冲问题
  20. Python归纳 | 爬虫基础知识

热门文章

  1. Appium+eclipse+python环境配置
  2. react native 之异步请求
  3. Spring AOP 前奏--动态代理
  4. [USACO08DEC]在农场万圣节Trick or Treat on the Farm
  5. No module named yum
  6. Spring -- spring 和 hibernate 整合
  7. Strust2遇到的问题
  8. js:s上次预览,上传图片预览,图片上传预览
  9. python运行httpserver
  10. opencv:图像的创建和储存