This article is currently in the process of being translated into Chinese (~80% done).
The tool windows
在Visual Studio中进行调试时,下方的工具窗口会发生变化,出现新的窗口(除非被主动关闭)。这是一系列分别叫做“本地变量”,“监视”,“调用堆栈”和“立即窗”的窗口,都与调试过程相关。本章介绍这些窗口及其功能。
本地变量窗口
这是其中最简单的窗口。当程序运行到达某个断点时,所有的本地变量会列在此处,提供了查看这些变量名称,类型,值的快速查看通道。甚至还能右键点某个变量,选择“编辑值”,给变量赋一个新值。这提供了改变现有值以测试代码的能力。
监视窗口
监视窗口有点象本地变量窗口,只是需要程序员自己决定要跟踪那些变量,本地变量还是全局变量。可以通过从代码编辑窗口,本地变量窗口把变量拖入,或在最后的空行直接输入变量名以添加要监视的变量。添加的变量会一直存在于监视窗口,直到程序员主动把其删除,但其值只会在调试进入到相关的当前环境时才会更新。比如,方法A中的变量在单步执行方法B时是不会更新的。与本地变量窗口一样,可以右键点某个监视变量,选择“编辑值”来改变该变量的当前值。
调用堆栈窗口
调用堆栈窗口会显示当前运行代码所在方法的调用堆栈结构。比如,如果方法A调用了方法B,而其又进而调用了方法C,又通过其调用了方法D,调用堆栈窗口会显示这一调用关系,让程序员可以直接查看每个相关的方法代码。还能查看传入每个方法的参数。本教程目前为止所用示例都很简单,因此本窗口的功能可能看起来没什么用,因为对简单的代码来说,追踪方法的调用关系也没什么意义,但随着代码到达某个层次的复杂程度,开始出现一个类中的方法调用其它类中的方法的情况时,调用堆栈窗口就可能会成为程序员们的救命稻草。
立即窗口
立即窗口可能是这几个窗口中最有用的一个。此窗口允许程序员在当前调试环境中执行任何代码。让程序员可以检查变量,改变变量值或只是测试一下某行代码。程序员只需在窗口中输入代码,按回车键,该代码就会被执行。也可以只键入一个变量名,其值会被输出。若通过键入a=5给变量赋值。其结果,如何有的话也会被输出,但重要的是此改变会反应到后续恢复的程序执行中。立即窗口就象C#命令行终端一样,可以输入代码,并立即看到该代码的执行结果 - 习惯这个工具后可能会上瘾。作者就是这样的。