在调试时,“自动变量”和“局部变量”窗口会显示变量值。 仅在调试会话期间,这两个窗口才可用。 “自动变量”窗口显示当前断点周围使用的变量。 “局部变量”窗口显示在局部范围内定义的变量,通常是当前函数或方法。

若要打开“自动变量”窗口,请在调试时依次选择“调试” > “窗口” > “自动变量”,或按 Ctrl+Alt+V > A 调试。

若要打开“局部变量”窗口,请在调试时选择“调试” > “窗口” > “局部变量”,或按 Alt+4。

01 使用自动和局部变量窗口
数组和对象在“自动变量”和“局部变量”窗口中显示为树形控件。 选择变量名称左侧的箭头可展开视图,以显示字段和属性。

“局部变量”或“自动变量”窗口中的红色值表示自上次评估后值已更改。 此更改可能是在上一个调试会话中进行的,也可能是在窗口中更改了值。
 当集合中加入一条记录时,sharps 对象的 Count 属性发生变更,所以用红色标注。

调试器窗口中的默认数字格式为十进制。 若要将其更改为十六进制,请在“局部变量”或“自动”窗口中右键单击,然后选择“十六进制显示”。 此更改会影响所有调试器窗口。

02 编辑自动或局部变量窗口中的变量值

若要编辑“自动”或“局部变量”窗口中大多数变量的值,请双击该值并输入新值。

编辑完成后,按下回车键即生效,红色标注。

你可以输入表达式作为一个值,例如 a + b。 调试器接受大多数合法的语言表达式。

在更改值和表达式之前,请确保你了解其后果。 一些可能存在的问题有:

(1)计算某些表达式可能会更改变量的值或以其他方式影响程序的状态。 例如,计算 var1 = ++var2 会更改 var1 和 var2 的值。据说这些表达式具有副作用。 如果你不了解这些副作用,则可能会导致意外结果。

(2)编辑浮点值时,由于要将小数部分从十进制转换为二进制,因此所得的结果可能存在微小误差。

甚至看起来无关紧要的编辑都能引起浮点变量中的位的某些更改。

03 在自动或局部变量窗口中搜索

您可以搜索的名称、 值和类型的列中的关键字自动或局部变量使用上面的每个窗口的搜索栏的窗口。 按 ENTER 或选择其中一个箭头,以执行搜索。 若要取消正在进行的搜索,请在搜索栏中选择"x"图标。

使用左右箭头键 (Shift + F3 和 F3,分别) 之间进行导航找到匹配项。

若要使搜索更多或更少全面,使用搜索更深入地顶部的下拉列表中自动或局部变量窗口可选择要搜索到的层深度嵌套的对象。

04 更改“自动”或“局部变量”窗口的上下文

可使用“调试位置”工具栏选择所需的函数、线程或进程,这将更改“自动”和“局部变量”窗口的上下文。

若要启用调试位置工具栏上,单击工具栏区域和选择的空白部分调试位置从下拉列表中或选择视图 > 工具栏 > 调试位置。

设置断点并开始调试。 命中断点时,执行暂停,你可以在“调试位置”工具栏中看到相应位置。

05 查看方法调用的返回值

在.NET 和 C ++ 代码中,当单步调试或退出方法调用时,可以在“自动”窗口中检查返回值如果方法调用返回值未保存在局部变量中,查看这些返回值会非常有用。 方法可以用作参数或用作另一种方法的返回值。

例如,下面的 C# 代码将添加两个函数的返回值:

 static void Main(string[] args)
{
int a, b, c, d;
a = ;
b = ;
c = ;
d = ;
int x = sumVars(a, b) + subtractVars(c, d); Console.WriteLine("Press any key to exit."); // 在调试模式下保持控制台打开
Console.ReadKey();
} private static int sumVars(int i, int j)
{
return i + j;
} private static int subtractVars(int i, int j)
{
return j - i;
}

要在“自动”窗口中查看 sumVars() 和 subtractVars() 方法调用的返回值,请执行以下操作:

  1. 在 int x = sumVars(a, b) + subtractVars(c, d); 行上设置断点。

  2. 开始调试,当执行在断点处暂停时,选择“单步跳过”或按 F10。 应该在“自动”窗口中看到以下返回值:

Visual Studio 调试系列5 检查变量(使用自动窗口和局部变量窗口)的更多相关文章

  1. Visual Studio 调试系列6 监视变量(使用监视窗口和快速监视窗口)

    系列目录     [已更新最新开发文章,点击查看详细] 当你进行调试时,可以使用 监视窗口 和 快速监视窗口 来监视变量和表达式. 仅在调试会话期间,这两个窗口才可用. 监视窗口可以在调试时一次显示多 ...

  2. Visual Studio 调试系列7 查看变量占用的内存(使用内存窗口)

    系列目录     [已更新最新开发文章,点击查看详细] 在调试期间,“内存”窗口显示应用程序正在使用的内存空间. 调试器窗口(如监视窗口.自动窗口.局部变量窗口和快速监视对话框)显示变量,这些变量存储 ...

  3. Visual Studio 调试 ---- 系列文章

    调试是软件开发过程中非常重要的一个部分,它具挑战性,但是也有一定的方法和技巧. Visual Studio 调试程序有助于你观察程序的运行时行为并发现问题. 该调试器可用于所有 Visual Stud ...

  4. Visual Studio 调试系列12 远程调试部署在远程计算机IIS上的ASP.NET应用程序

    系列目录     [已更新最新开发文章,点击查看详细] 要调试已部署到IIS的ASP.NET应用程序,请在部署应用程序的计算机上安装并运行远程工具,然后从Visual Studio附加到正在运行的应用 ...

  5. Visual Studio 调试系列2 基本调试方法

    系列目录     [已更新最新开发文章,点击查看详细] 在 Visual Studio 上下文中,当调试应用时,这通常意味着你在附加了调试器的情况下(即在调试器模式下)运行应用程序. 执行此操作时,调 ...

  6. Visual Studio 调试系列9 调试器提示和技巧

    系列目录     [已更新最新开发文章,点击查看详细] 01 固定数据提示 如果你在调试时,经常将鼠标悬停在数据提示上,就可能想固定变量的数据提示,方便自己随时查看. 即使在重新启动后,固定的变量也能 ...

  7. Visual Studio 调试系列10 附加到正在运行的进程

    系列目录     [已更新最新开发文章,点击查看详细] 可将 Visual Studio 调试器附加到本地或远程计算机上正在运行的进程. 进程运行后,在 Visual Studio 中选择“调试” & ...

  8. Visual Studio 调试系列4 单步后退来检查旧应用状态(使用使用 IntelliTrace 窗口)

    系列目录     [已更新最新开发文章,点击查看详细] IntelliTrace 后退会在每个断点处及调试器步骤事件发生时自动拍摄应用程序的快照. 凭借记录的快照便可以返回到上一个断点或步骤,并查看当 ...

  9. Visual Studio 调试系列1 Debug 与 Release 模式

    系列目录     [已更新最新开发文章,点击查看详细] Debug 模式 Debug 通常称为调试版本,它包含调试信息,并且不作任何优化,便于程序员调试程序. 在Debug模式下调试,可以在断点处看到 ...

随机推荐

  1. Spring Cloud Sleuth+ZipKin+ELK服务链路追踪(七)

    序言 sleuth是spring cloud的分布式跟踪工具,主要记录链路调用数据,本身只支持内存存储,在业务量大的场景下,为拉提升系统性能也可通过http传输数据,也可换做rabbit或者kafka ...

  2. 【UOJ#49】【UR #3】轴仓库

    [UOJ#49][UR #3]轴仓库 题面 UOJ 题解 不难发现一定是每次找到离当前位置最近的一个箱子,然后把它搬过来. 那么如果我们能够确定起始位置,我们就可以二分从两侧多少距离搬箱子,判断一下时 ...

  3. Spring源码系列 — 容器Extend Point(一)

    前言 前文介绍了Spring中的BeanDefinition的细节,随着Spring的启动流程,这节我们介绍Spring的后续处理过程 - Spring的扩展点: BeanFactoryPostPro ...

  4. linux中查找包含指定内容的文件

    Linux查找文件内容的常用方法 ##文件名+内容 grep -r "查询内容" 文件目录 ##只显示包含内容的文件名 grep -r -l "查询内容" 文件 ...

  5. 解决 Windows Server 2008 R2 上 Windows Update 无法失败,提示 8024402F

    1.同步服务器时间 2.打开 services.msc,停止 Windows Update Service 3.手动下载 KB3138615 补丁:https://support.microsoft. ...

  6. MongoDB常用数据库命令第三集

    show dbs 查看已经存在的数据库 use 数据库名 切换到指定的数据库(无论数据库是否存在 均可切换成功) db 查看当前数据库 db.getCollectionNames() 查看当前数据库下 ...

  7. Qt播放音视频文件报错DirectShowPlayerService::doRender: Unresolved error code 0x80040266或DirectShowPlayerService::doSetUrlSource: Unresolved error code 0x80004005 ()

    使用QMediaPlayer和QVideoWidget QHBoxLayout *m_layout=newQHBoxLayout(this); QMediaPlayer *m_player = new ...

  8. Struts2 : action跳转时带参数跳转

    在实现action跳转到另一个action时,需要携带参数,可以直接在struts.xml配置文件中对应的跳转action的地方加上,参数的配置,用ognl表达式,可以从session中取值. 如果要 ...

  9. 英语NanyangJade南阳玉NanyangJade独山玉

    南阳玉NanyangJade又叫做独山玉,独山玉,因产于河南南阳的独山而得名,亦称“南阳玉”. 独山玉是中国四大名玉之一,有南阳翡翠之称,独山玉是一种黝帘石化斜长岩,由多种矿物组成,属多色玉器. 据文 ...

  10. xshell 远程登陆CentOS7 免密登陆

    首先说一下大体的思路: 1. 以密码登陆CentOS系统 2. 配置ssh 3. xshell 生成秘钥 4. 进行免密登陆 软件.设备: xshell(下载地址(免费版),也可以自行百度下载) Ce ...