版权声明:本文为博主原创文章,转载请在显著位置标明本文出处以及作者网名,未经作者允许不得用于商业目的。
本篇谈谈vb.net中程序的简单调试
以如下代码为例:
Sub main()
Dim a(100) As Integer
Dim s As Integer
For i As Integer = 0 To 100
a(i) = i
Next
For i As Integer = 0 To 100
s += a(i)
Next
Console.WriteLine(s.ToString)
Console.ReadKey()
End Sub
1、添加断点
在想要中断的语句左侧用鼠标左键点击一下,出现棕红色圆圈,这句代码也变成棕红色背景。
添加断点时,请注意鼠标点击位置。
同样的,删除断点,就在棕红色圆圈上点击一下鼠标左键,所在代码行背景变回白色,就表示取消了断点。
删除断点不仅仅是在编辑的时候,程序运vb.net教程行的时候,也是可以的。
按下F5运行时,程序将切换回visual studio编辑器下,在断点处中断,但是此时不可修改代码。
此时把鼠标放到变量上,就可以很直观的看到变量的值:
这是第一次进入for循环,i的值为0,如果我把断点加在“a(i) = i”这一句,那么将会中断101次。什么,为什么不是100次?因为i=0还有1次,你是不是没有算上?
然后,按下F8,程序将会执行到下一句“a(i) = i”处,当然,按下F5,程序会执行到 For i As Integer = 0 To 100 处,只是此时i=1。
变量即使是数组、结构、类,它的值都可以立即获得:
2、添加监视
当程序进入中断的时候,我们还可以添加对变量的监视。
例如,我要监视s的值,鼠标右键点击s(点在左右旁边也无所谓),弹出菜单上选择“添加监视”即可
此时,变量s出现在监视窗口中:
为了更能说明监视的s,我另外增加了i,可以看到当i=7时,s=21。注意i=7时,a(7)=6,所以s=0+1+2+3+4+5+6,而不是s=0+1+2+3+4+5+6+7。
3、Debug输出
在代码中可以实时地输出变量的值方便调试。如下代码:
Sub main()
Dim a(100) As Integer
Dim s As Integer
For i As Integer = 0 To 100
a(i) = i
Next
For i As Integer = 0 To 100
s += a(i)
Next
Console.WriteLine(s.ToString)
Debug.Print(s)
Debug.WriteLine(s)
Console.ReadKey()
End Sub
- 17
- 18
- 19
Debug.Print()和 Debug.WriteLine()的使用差不多。都是将变量的值数出来,注意输出是在“即时窗口”中:
4、Console输出
在窗体编程时,也可以用Console.WriteLine()实时地输出变量的值,功能和Debug差不多。
注意的是,Console.WriteLine()实时输出的结果是显示在“输出”窗口,如果是在控制台编程下,只会输出到控制台。
5、错误列表窗口
vs提供的错误列表窗口可以将写代码和运行调试时候的一些简单错误或者警告显示在这里,也请多检查此窗口。
由于.net平台下C#和vb.NET很相似,本文也可以为C#爱好者提供参考。