在程序调试过程中,对调试者最为重要的信息是:在运行过程中各变量和表达式的值的变化情况。这些信息能够为调试者提供分析依据,从而做出正确的判断。为此,VB提供了三个调试窗口,分别是立即窗口、本地窗口和监视窗口。在逐语句执行代码时,可以通过它们来监视变量或表达式的值。 立即窗口 在程序进入中断模式后,一般会自动弹出立即窗口,如果界面上没有显示出立即窗口,可以执行【视图】菜单中的【立即窗口】命令来打开它。单击调试工具栏中的【立即窗口】按钮也可以打开立即窗口。 通过立即窗口,即可以监视当前过程中各变量或属性的值,还可以重新为变量或属性赋值。 1.通过立即窗口监视 VB把立即窗口看作为一个名称为Debug的对象,Print是它的一个很重要的方法。在程序代码中添加如下语句:
Debug.print变量或属性 就能够将变量或属性的值显示在立即窗口中了,从而达到监视变量与属性值的目的。 例如,在计算数组各元素的总和时,在代码中添加一条“Debug.Print S”语句,如图8.11中(a)图所示。运行程序,立即窗口中就会显示出数组元素每次累加的结果,如图8.11中(b)图所示。
更灵活的监视变量或属性值的方法是,在程序进入中断模式后,在立即窗口中直接使用Print语句来输出变量或属性的值。例如,将断点设置在语句“A=S/6 ”处,如图8.12中(a)图所示,运行程序,当程序中断后,在立即窗口中输入“Prints”,按回车键,则输出变量S当前的值。同理,也可以输出循环变量i的当前值,如图8.12中(b)图所示。 2.给变量或属性赋值 在中断模式下,利用立即窗口不仅能输出变量或属性的值,还能改变它们的值。在调试程序时,常常使用立即窗口给某变量赋予不同的值,然后配合Print语句的使用就可以观察到该变量值对其他变量值的影响。 例如,在代码中设置两个断点,如图8.13中(a)图所示,运行程序,当程序的运行在第一个断点处停下来时,在立即窗口中输入“S=5”,按回车键;继续运行程序,当程序的运行在第二个断点处停下来时,在立即窗口中输入“PrintS”,按回车键,则输出S的值为26,如图8.13中(b)图所示。可见,变量S的初值变为5,而不在是代码中所赋予的初值0。
|