设定条件断点、运行到光标位置、可视化变量
条件断点指定了一个条件,这可以使得调试器暂停调试。条件可以是由任何的代码表达式指定,并且这些条件表达式可以设置为true或者false。 用户需要在最常调用的方法里设置一个条件断点,这样当变量获得某个特定值时,就可根据这个值来检测程序的运行状态。
运行到光标位置就类似于设定一次性的断点。当执行被暂挂时,可以在源程序中选中一行,然后恢复执行直到运行到选定行。例如,可以进入一个方法的循环,通过这个方法可以确定方法中的循环代码运行是否正常。当循环被执行后,用户可以运行到设置运行到的光标位置,而不是逐步调试循环的每个迭代。
有时,在数据提示框或者变量窗口中很难看到变量的值。测试器可以在Text Visualizer窗口中显示字符型、HTML和XML类型的值, Text Visualizer窗口在滚动窗口中显示格式化数据值视图。
例三:
在本示例中在特定的循环迭代中设定了一个条件断点,然后在循环完成时运行到指定的光标位置处。
1) 在MainPage构造函数中调用Example方法。
编辑MainPage函数,将methodTrack=String.Empty;替换为Example3();。
2) 运行到断点。
在Debug菜单中选择Start DeBuggging(快捷键:F5)启动测试对话框,测试会在断点处暂停执行。
3) 进入Example3方法。
在Debug菜单中选择Step Into(快捷键:F11),使得调试进入Example3的切入点。继续进入方法,直到迭代一个或者两个循环快。注意,这可能需要花很长的时间调试1000个迭代。
4) 设置条件断点。
在代码窗口左侧的阴影区,右键单击x += i;这一行,然后选择Condition选项,选中Condition Check Box选项,然后在文本框里面输入i == 500;,然后选择Is true选项并单击OK。这样,这个断点就允许用户检查第500次循环迭代的值。如下图11-11所示
图11-11 检查一次循环迭代的值
可以通过白色的十字分辨出条件断点如下图11-12所示
图11-12 分辨条件断点
5) 运行到断点。
在Debug菜单中,选择Continue(快捷键:F5)。在本地窗口中,确认i的值是500,注意变量以单行显示,并且比当前的窗口要长。
6) 查看字符型变量。
点击s列中的放大镜图标。Text Visualizer窗口出现,并且将字符串的值显示多行字符字符串。
7) 运行到光标位置。
右键单击methodTrack += "->Example3";这一行,然后选择Run to Cursor选项(快捷键:Ctrl+F10),当测试器就会完成之前循环迭代会在这一行停止测试。
8) 停止测试。
在Debug菜单中,选择Stop DeBugging(快捷键:Shfit+F5)。这样就会结束测试对话。