Visual Studio 调试系列6 监视变量(使用监视窗口和快速监视窗口)
当你进行调试时,可以使用 监视窗口 和 快速监视窗口 来监视变量和表达式。 仅在调试会话期间,这两个窗口才可用。
监视窗口可以在调试时一次显示多个变量。 快速监视对话框一次仅显示单个变量,并可以继续调试之前,必须关闭。
private static void Main(string[] args)
{
int a, b, c;
a = ;
b = ;
c = ; for (int i = ; i < ; i++)
{
a++;
b *= ;
c = a + b;
} Console.WriteLine("Press any key to exit."); // 在调试模式下保持控制台打开
Console.ReadKey();
}
在c = a + b;行设置断点,按F9。开始调试通过选择绿色启动箭头或调试 > 开始调试,或按F5。 在断点处暂停执行。
打开监视窗口,通过选择窗口调试 > Windows > 监视 > 观看 1,或按Ctrl+Alt+W > 1.
可以打开其他Watch窗口中的,选择 windows 2, 3,或者4。
在监视窗口中,选择空的行,并编辑写入类型变量
a。 执行相同操作b和c。
继续进行调试,通过选择调试 > 单步执行或按F11根据需要以继续。
for循环多次执行时,a b c 的值分别发生变化。

在监视窗口中,可以使用任何有效的表达式以计算其值。
例如,对于前面部分中的代码,可以获取三个值的平均值通过输入(a + b + c) / 3,观看窗口:

在监视窗口中计算表达式的规则通常与代码中的语言表达式的计算规则相同。 如果表达式具有语法错误,出现相同的编译器错误,如代码编辑器中所示。 例如,在上述表达式中的有拼写错误生成中的出现此错误监视窗口:

监视窗口中可能会显示一个带有两个波浪条纹图标圆圈。 此图标表示调试器会计算该表达式,因为潜在的跨线程依赖关系。 计算代码需要暂时,运行您的应用程序中的其他线程,但由于在中断模式下,应用程序中的所有线程通常已都停止。 允许其他线程暂时运行可能对您的应用程序和调试器的状态的意外的影响可以忽略断点和这些线程上的异常等事件。
该功能请参考《Visual Studio 调试系列3 断点》在条件表达式中使用对象 Id (C#和F#仅)。基本相同。
private static void Main(string[] args)
{
dynamic student = new { Name = "张三", Age = , Sex = "男" }; Console.WriteLine("Name:" + student.Name);
Console.WriteLine("Age:" + student.Age);
Console.WriteLine("Sex:" + student.Sex); Console.WriteLine("Press any key to exit."); // 在调试模式下保持控制台打开
Console.ReadKey();
}
监视窗口中显示这些对象作为动态对象,从实现的类型创建IDynamicMetaObjectProvider 接口。
动态对象节点显示动态成员的动态对象,但不允许编辑成员值。下面3个窗口中都无法编辑成员值。



在表达式文本框中输入新的表达式,点击【重新计算】

Visual Studio 调试系列6 监视变量(使用监视窗口和快速监视窗口)的更多相关文章
- Visual Studio 调试系列7 查看变量占用的内存(使用内存窗口)
系列目录 [已更新最新开发文章,点击查看详细] 在调试期间,“内存”窗口显示应用程序正在使用的内存空间. 调试器窗口(如监视窗口.自动窗口.局部变量窗口和快速监视对话框)显示变量,这些变量存储 ...
- Visual Studio 调试系列5 检查变量(使用自动窗口和局部变量窗口)
系列目录 [已更新最新开发文章,点击查看详细] 在调试时,“自动变量”和“局部变量”窗口会显示变量值. 仅在调试会话期间,这两个窗口才可用. “自动变量”窗口显示当前断点周围使用的变量. “局 ...
- Visual Studio 调试 ---- 系列文章
调试是软件开发过程中非常重要的一个部分,它具挑战性,但是也有一定的方法和技巧. Visual Studio 调试程序有助于你观察程序的运行时行为并发现问题. 该调试器可用于所有 Visual Stud ...
- Visual Studio 调试系列12 远程调试部署在远程计算机IIS上的ASP.NET应用程序
系列目录 [已更新最新开发文章,点击查看详细] 要调试已部署到IIS的ASP.NET应用程序,请在部署应用程序的计算机上安装并运行远程工具,然后从Visual Studio附加到正在运行的应用 ...
- Visual Studio 调试系列2 基本调试方法
系列目录 [已更新最新开发文章,点击查看详细] 在 Visual Studio 上下文中,当调试应用时,这通常意味着你在附加了调试器的情况下(即在调试器模式下)运行应用程序. 执行此操作时,调 ...
- Visual Studio 调试系列9 调试器提示和技巧
系列目录 [已更新最新开发文章,点击查看详细] 01 固定数据提示 如果你在调试时,经常将鼠标悬停在数据提示上,就可能想固定变量的数据提示,方便自己随时查看. 即使在重新启动后,固定的变量也能 ...
- Visual Studio 调试系列10 附加到正在运行的进程
系列目录 [已更新最新开发文章,点击查看详细] 可将 Visual Studio 调试器附加到本地或远程计算机上正在运行的进程. 进程运行后,在 Visual Studio 中选择“调试” & ...
- Visual Studio 调试系列4 单步后退来检查旧应用状态(使用使用 IntelliTrace 窗口)
系列目录 [已更新最新开发文章,点击查看详细] IntelliTrace 后退会在每个断点处及调试器步骤事件发生时自动拍摄应用程序的快照. 凭借记录的快照便可以返回到上一个断点或步骤,并查看当 ...
- Visual Studio 调试系列1 Debug 与 Release 模式
系列目录 [已更新最新开发文章,点击查看详细] Debug 模式 Debug 通常称为调试版本,它包含调试信息,并且不作任何优化,便于程序员调试程序. 在Debug模式下调试,可以在断点处看到 ...
随机推荐
- WPF 通过Win32SDK修改窗口样式
使用函数为 SetWindowLong GetWindowLong 注册函数 [DllImport("user32.dll", EntryPoint = "GetWind ...
- ASP.NET中的请求验证
这两天做项目的时候偶然发现项目中的保存功能的时候出现这样的异常:异常详细信息: System.Web.HttpRequestValidationException: 从客户端(XXXX)中检测到有潜在 ...
- 妹纸对网易严选的Bra是什么评价?
声明:这是一篇超级严肃的技术文章,请本着学习交流的态度阅读,谢谢! 一.网易商品评论爬取 1.评论分析 进入到网易严选官网,搜索“文胸”后,先随便点进一个商品. 在商品页面,打开 Chrome 的控制 ...
- fetch和XMLHttpRequest
fetch和XMLHttpRequest 如果看网上的fetch教程,会首先对比XMLHttpRequest和fetch的优劣,然后引出一堆看了很快会忘记的内容(本人记性不好).因此,我写一篇关于fe ...
- JS初始
简单只和复杂值的区别 1.简单值 简单值表示JS中可用的数据或信息的最底层简单形式. 注:简单之不可被细化. 也就是说,数字是数字,字符是字符,布尔值是true或false,null和undefi ...
- FFT之频率与幅值的确定(转)
FFT之后得到的是什么数 FFT之后得到的那一串复数是波形对应频率下的幅度特征,注意这个是幅度特征不是复制,下面要讲两个问题:1.如何获取频率,2.如何获取幅值 获取频率 FFT变换如何获取频率?傅里 ...
- QTableWidget获取选中行内容
QList<QTableWidgetItem*> items = ui->tableWidget->selectedItems(); int count = items.cou ...
- 【转】Git使用教程之远程仓库
1.远程仓库 在了解之前,先注册github账号,由于你的本地Git仓库和github仓库之间的传输是通过SSH加密的,所以需要一点设置: 第一步:创建SSH Key.在用户主目录下,看看有没有.ss ...
- 汇编指令之JMP,CALL,RET(修改EIP的值!!!)
简单介绍了,JMP指令按市面上的意思来说是跳转到指定地址,但我这里不这么说,JMP, CALL, RET三个指令均为修改EIP值的指令,EAX, ECX, EBX, EDX, ESP, EBP, ES ...
- mac上配置python的安装环境杂记
现在的python的包都是通过pip安装的. 所以非常重要的一步是配置pip的安装源 vi ~/.pip/pip.conf [global] index-url = http://pypi.douba ...