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模式下调试,可以在断点处看到 ...
随机推荐
- 如何让 C# 在运行时自动选择合适的重载方法?
如题:假设我们有一段代码: static void Main(string[] args) { ; // 假设这里的 obj 的值来自于外部方法 PrintType(obj); } public st ...
- Javascript 实现倒计时效果
代码来自于网上. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://ww ...
- Spring源码系列 — Resource抽象
前言 前面两篇介绍了上下文的启动流程和Environemnt的初始化,这两部分都是属于上下文自身属性的初始化.这篇开始进入Spring如何加载实例化Bean的部分 - 资源抽象与加载. 本文主要从以下 ...
- Java 函数式编程—@FunctionalInterface----functional interface
单一函数接口,可以使用拉姆达表达式的形式具体化和实例化. 本质是将接口函数签名化. 如定义了一个函数式接口如下: @FunctionalInterface interface GreetingServ ...
- C# CSV Generic T
This artice will write the main step to export generic data via csv with complete code and step by s ...
- 创建vue3项目
最近准备做一个vue的小项目关于vue3的使用. 首先在vscode全局安装vue脚手架,npm i -g @vue/cli. 然后创建vue项目,vue create mydemo(项目名). 接下 ...
- 进程调度算法spf,fpf,时间片轮转算法实现
调度的基本概念:从就绪队列中按照一定的算法选择一个进程并将处理机分配给它运行,以实现进程并发地执行. 进程信息 struct node { string name;//进程名称 int id;//进程 ...
- CMake编译的VS工程,安装时遇到错误:error MSB3073: 命令“setlocal
错误提示 70>CMake Error at src/base/cmake_install.cmake:63 (file): 70> file INSTALL cannot find 70 ...
- redis笔记3
redis持久化机制 redis提供了两种持久化策略 RDB RDB的持久化策略: 按照规则定时将内存的数据同步到磁盘 snapshot redis在指定的情况下会触发快照 自己配置的快照规则 sav ...
- LeetCode——Department Highest Salary(花式使用IN以及GROUP BY)
The Employee table holds all employees. Every employee has an Id, a salary, and there is also a colu ...