用监视表达式监视数据

在调试应用程序时,一个计算可能未得到想要的结果,当某个变量或属性取特定的值或一个范围之内的值时,问题也可能会出现。许多调试问题不是由单个语句产生的,所以需要在整个过程中观察变量或表达式的情况。

Visual Basic 自动对监视表达式─ 定义的表达式─ 进行监视。当应用程序进入中断模式后,这些监视表达式会出现在“监视”窗口中,可在此处观察它们的值。

无论何时,只要表达式的值改变或等于一个特定的值,就可把应用程序设置为中断模式来直接观察表达式。例如,在循环计数器达到一个特定值时,可用一个监视表达式把应用程序设置为中断模式,而不是一次一条语句逐步执行数十次乃至数百次循环。在过程中一个标志的值每次改变时都可能会希望应用程序进入中断模式。

添加一个监视表达式

在设计时或中断模式下可添加监视表达式。用“添加监视”对话框(如图 13.12 所示)来添加监视表达式。

图 13.12“添加监视”对话框

下表描述了“添加监视”对话框。

部件 描述
“表达式”框 输入表达式的地方,监视表达式将计算表达式的值。表达式是一个变量、属性、函数调用或其它任何有效的表达式。
“上下文”选项组 用来设置表达式中要监视的变量的范围。当有名字相同而范围不同的变量时使用该选项组。还可把监视表达式中的变量的范围限制为由特定过程、特定窗体或模块组成,也可通过选定“所有过程及所有模块”使范围可用于整个应用程序。Visual Basic 在小范围内可更快地计算变量。
“监视类型”选项组 用来设置 Visual Basic 对监视表达式作响应的方式。Visual Basic 可在应用程序进入中断模式后对表达式进行监视并显示其值。在表达式的值为真(非零)语句时,或表达式的值每次发生改变时,就可使应用程序自动进入中断模式。

要添加监视表达式,请按照以下步骤执行:

  1. 选择“调试”菜单的“添加监视”命令。

  2. 代码编辑器中的当前表达式(如果有的话)将出现在“添加监视”对话框的“表达式”框中。如果这不是要监视的表达式,则在“表达式”框中输入表达式来求值。

  3. 如果有必要,则设置要监视的变量的范围。

    如果在“上下文”中选定“过程”或“添加模块”选项,则从相应的列表框中选定一个过程、窗体或模块名。

  4. 如果有必要,则在“监视类型”组中选定选项按钮来确定 Visual Basic 对监视表达式进行响应的方式。

  5. 选择“确定”。

注意 也可把表达式从代码编辑器中拖放到监视窗口来添加表达式。

编辑或删除监视表达式

图 13.13 中显示的“编辑监视”对话框列出所有当前监视表达式。可在“监视”窗口中编辑和删除所有已列出的监视表达式。

图 13.13 “编辑监视”对话框

要编辑监视表达式,请按照以下步骤执行:

  1. “监视”窗口中双击想要编辑的监视表达式。

    -或-

    选定想要编辑的监视表达式,然后选择“调试”菜单中的“编辑监视”。

  2. 显示“编辑监视”对话框,除了标题栏不同以及增加了一个“删除”按钮外,这个对话框与“添加监视”对话框相同。

  3. 改变表达式、变量的求值范围或监视类型。

  4. 选择“确定”。

要删除监视表达式的步骤,请

“监视”窗口中选定要删除的监视表达式。

标识监视类型

在“监视”窗口中,每个监视表达式的左边都有一个图标来标识该表达式的监视类型。图 13.14 中对三种监视类型确定了图标。

图 13.14 监视类型图标

使用快速监视

在中断模式下可检查那些未定义监视表达式的属性、变量或表达式的值。要检查这样的表达式,应使用“快速监视”对话框,如图 13.15 中所示。

图 13.15 “快速监视”对话框

“快速监视”对话框显示从“代码”窗口中选定的表达式的值。为继续监视这个表达式,单击“添加”按钮;然后会出现“监视”窗口,并在“监视”窗口中显示“快速监视”对话框中的相关信息。如果 Visual Basic 不能对当前表达式求值,就禁止使用“添加”按钮。

要显示“快速监视”对话框,请按照以下步骤执行:

  1. 在“代码”窗口中选定监视表达式。

  2. 单击“调试”工具栏的“快速监视”按钮。(为显示“调试”工具栏,在 Visual Basic 工具栏上右击鼠标并选定“调试”选项。)

    -或-

    按下 SHIFT+F9。

    -或-

    选择“调试”菜单中的“快速监视”。

  3. 如果要把根据“快速监视”对话框的一个表达式定义出来的监视表达式添加到“监视”窗口中,则选择“添加”按钮。