在“立即”窗口中有两种方法进行打印。
Debug.Print
语句写入应用程序代码。对于监视表达式,这些打印技术有多个优点:
无论何时,只要把 Debug 对象的前缀包括进去,Print 方法就把输出传送到“立即”窗口:
Debug.Print [items][;]
例如,下面的语句在每次执行时都把 Salary
的值打印到“立即”窗口中:
Debug.Print "Salary = "; Salary
当应用程序代码中有一个特殊位置,并且知道变量(在这个例子中为 Salary
)在这个位置上会发生变化时,这种技术最为适用。例如,可以在循环中放置以前的语句来重复改变 Salary
。
注意 当把应用程序编译到 .exe 执行文件时,将删掉 Debug.Print
语句。于是,如果在使用 Debug.Print
语句时,应用程序仅仅把字符串或简单变量类型当作参数,那么它将没有任何 Debug.Print
语句。但是,Visual Basic 不能去掉在 Debug.Print
中作为参数的函数调用。所以,那些函数的副作用将继续在编译后的 .exe 执行文件中存在,即使不打印函数结果,情况也是如此。
详细信息 请参阅“调试对象”。
一旦在中断模式之下,就可把焦点移到“立即”窗口来检查数据。
要检查“立即”窗口中的数据,请按照以下步骤执行:
-或-
选择“视图”菜单的“立即窗口”。
一旦把焦点移到“立即”窗口,就可用不带 Debug 对象的 Print 方法。
“立即”窗口执行语句作出响应,如图 13.19 所示。
图 13.19 使用 Print 方法来打印到“立即”窗口中
问号 (?) 是 Print 方法常用的速记形式。 问号与 Print 具有相同的意义,并且可在使用 Print 的任何上下文中使用。例如,可按照图 13.20 所示形式输入图 13.19 中的语句。
图 13.20 使用问号来代替 Print 方法
可在“立即”窗口中计算任何有效的表达式,包括调用了属性的表达式。当前活动窗体或模块决定了表达式的范围。如果在与窗体或类相关联的代码内中止了执行,则可引用那个窗体(或其控件之一)的属性,也可以象下面这样,用语句隐式地引用窗体:
? BackColor
? Text1.Height
假定 Text1 是当前活动窗体中的控件,第一个语句将在“立即”窗口中打印当前窗体的背景颜色的数值。第二个语句打印 Text1 的高。
如果在模块或另一窗体中将执行挂起来,那么必须明确指定窗体名:
? Form1.BackColor
? Form1.Text1.Height
注意 在“立即”窗口中(或其它任何地方)引用卸载的窗体来装载那个窗体。
详细信息 关于在“立即”窗口中改变属性和值的详细信息,请参阅本章后面的“给变量和属性赋值”。