差错与调试
差错类型
VBA程序中的差错分为下面两类:
语法差错
当Visual Basic Editor检测到违反Visual Basic语法规则的无效语句时产生语法差错。例如,关键字拼写错误产生的语法差错。一旦产生差错就会出现指示差错消息的对话框,并将无效语句突显红色。如欲了解有关差错的详细信息,请点击差错对话框中的HELP(帮助)按钮,显示关于差错的帮助主题。纠正语法错误之后才能运行宏。
默认情况下,E5071C VBA环境设定为自动检查语法差错,不过可以按照以下步骤关闭自动语法检查功能:
点击Tools(工具)菜单上的Options....
在Editor选项卡上,取消Auto Syntax Check(自动语法检查)复选框。
点击OK按钮。
运行时差错
当VBA程序在运行时试图执行无效语句时产生运行时差错。产生运行时差错时,程序停止在无效语句上并出现差错对话框。可以点击差错对话框中的END按钮终止程序。也可以点击差错对话框中的DEBUG按钮确定产生差错的语句。在这种情况下,有问题的语句会突显黄色。
即使在正常情况下程序运行不会产生差错,但在特定情况下就会产生某些运行时差错。例如,使用标记带宽搜索功能分析结果的程序由于标记未处于适当位置而不能进行带宽搜索时出现差错"Target value not found"(“未找到目标值”);使用Ecal模块执行校准的程序因为Ecal模块与测试端口的连接错误而不能测量校准数据时出现差错"Ecal module not in RF path"(“Ecal模块不在RF路径上”)。
利用调试工具
E5071C的VBA环境提供帮助确定逻辑差错的多种调试工具。VBA在线帮助和有关VBA的书籍中有使用调试工具的详细信息。
调试工具栏
调试工具栏上有各种工具按钮,可方便地使用各种调试工具。
点击View(视图)菜单上的Toolbars(工具栏) > Debug(调试)。
设置/清除断点(F9键):将断点置于光标处或清除现有断点。
逐步操作(F8键):逐步运行VBA程序。如果当前程序包含另一个程序的调用,调用的程序也能逐步运行。
跳过(Shift + F8):逐步运行VBA程序。如果当前程序包含另一个程序的调用,调用程序仅作为一行运行。
跳出(Ctrl + Shift + F8):执行当前执行点所在位置上剩余的函数行。
局部窗口:打开局部窗口,显示当前局部变量的值。
即时窗口(Ctrl + G):打开即时窗口,求出变量或表达式的输入值。
监视窗口:打开监视窗口,显示指定表达式的当前值。
(键盘:Shift + F9):显示对话框中指定表达式当前的值。
设置断点
将断点置于VBA程序的特定语句中,程序执行到该语句时就会自动中止。
当将断点置于某一行时,该行突出显示为红棕色,如下图所示。按照下列方法设置断点:
将光标置于要求的代码行,并点击调试工具栏上的"Set/clear break points" (“设置/取消断点”)按钮。
点击编码窗口的边距指示器栏上的任一位置。
设置断点
监视变量或属性值
借助VBA程序中止,可以使用以下调试工具监视变量或属性。要想监视变量或属性值,必须设置断点,运行并中止VBA程序。
当光标指向相关的变量或表达式时,Data Hint(数据提示)显示当前值,如下图所示。
数据提示
点击调试工具栏上的 显示即时窗口。
先在即时窗口中输入问号(?),然后在问号后面输入要检查数值的变量或表达式,并按下Enter键,如下图所示。当前值显示在输入行的下面。
即时窗口
点击调试工具栏上的“监视窗口”按钮,显示监视窗口。 .
监视窗口
- 点击Debug(调试)菜单上的AAdd Watch...(添加监测)....打开添加监视对话框。
如下图所示,可以指定某个表达式作为监测表达式,始终监测其值。
点击OK 按钮。
添加监视对话框
快速监视
在编码窗口选择想要监测其值的变量或表达式。点击调试工具栏上的“快速监视”按钮,打开快速监视对话框。对话框显示指定变量或表达式的当前值。
也可以点击快速监视对话框中的Add(添加)按钮,将当前表达式指定为监视表达式。