Visual Studio 调试系列5 检查变量(使用自动窗口和局部变量窗口)
在调试时,“自动变量”和“局部变量”窗口会显示变量值。 仅在调试会话期间,这两个窗口才可用。 “自动变量”窗口显示当前断点周围使用的变量。 “局部变量”窗口显示在局部范围内定义的变量,通常是当前函数或方法。
若要打开“自动变量”窗口,请在调试时依次选择“调试” > “窗口” > “自动变量”,或按 Ctrl+Alt+V > A 调试。
若要打开“局部变量”窗口,请在调试时选择“调试” > “窗口” > “局部变量”,或按 Alt+4。

调试器窗口中的默认数字格式为十进制。 若要将其更改为十六进制,请在“局部变量”或“自动”窗口中右键单击,然后选择“十六进制显示”。 此更改会影响所有调试器窗口。
若要编辑“自动”或“局部变量”窗口中大多数变量的值,请双击该值并输入新值。
编辑完成后,按下回车键即生效,红色标注。
你可以输入表达式作为一个值,例如 a + b
。 调试器接受大多数合法的语言表达式。
在更改值和表达式之前,请确保你了解其后果。 一些可能存在的问题有:
(1)计算某些表达式可能会更改变量的值或以其他方式影响程序的状态。 例如,计算 var1 = ++var2 会更改 var1 和 var2 的值。据说这些表达式具有副作用。 如果你不了解这些副作用,则可能会导致意外结果。
(2)编辑浮点值时,由于要将小数部分从十进制转换为二进制,因此所得的结果可能存在微小误差。
甚至看起来无关紧要的编辑都能引起浮点变量中的位的某些更改。
您可以搜索的名称、 值和类型的列中的关键字自动或局部变量使用上面的每个窗口的搜索栏的窗口。 按 ENTER 或选择其中一个箭头,以执行搜索。 若要取消正在进行的搜索,请在搜索栏中选择"x"图标。
使用左右箭头键 (Shift + F3 和 F3,分别) 之间进行导航找到匹配项。

若要使搜索更多或更少全面,使用搜索更深入地顶部的下拉列表中自动或局部变量窗口可选择要搜索到的层深度嵌套的对象。
可使用“调试位置”工具栏选择所需的函数、线程或进程,这将更改“自动”和“局部变量”窗口的上下文。
若要启用调试位置工具栏上,单击工具栏区域和选择的空白部分调试位置从下拉列表中或选择视图 > 工具栏 > 调试位置。
设置断点并开始调试。 命中断点时,执行暂停,你可以在“调试位置”工具栏中看到相应位置。

在.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()
方法调用的返回值,请执行以下操作:
在
int x = sumVars(a, b) + subtractVars(c, d);
行上设置断点。开始调试,当执行在断点处暂停时,选择“单步跳过”或按 F10。 应该在“自动”窗口中看到以下返回值:
Visual Studio 调试系列5 检查变量(使用自动窗口和局部变量窗口)的更多相关文章
- Visual Studio 调试系列6 监视变量(使用监视窗口和快速监视窗口)
系列目录 [已更新最新开发文章,点击查看详细] 当你进行调试时,可以使用 监视窗口 和 快速监视窗口 来监视变量和表达式. 仅在调试会话期间,这两个窗口才可用. 监视窗口可以在调试时一次显示多 ...
- Visual Studio 调试系列7 查看变量占用的内存(使用内存窗口)
系列目录 [已更新最新开发文章,点击查看详细] 在调试期间,“内存”窗口显示应用程序正在使用的内存空间. 调试器窗口(如监视窗口.自动窗口.局部变量窗口和快速监视对话框)显示变量,这些变量存储 ...
- 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模式下调试,可以在断点处看到 ...
随机推荐
- Neo4j 第十一篇:Cypher函数
Cypher函数是对图进行查询和操作的重要工具. 一,谓词函数 谓词函数返回true或者false,主要用于检查是否存在或满足特定的条件. 1,Exists 如果指定的模式存在于图中,或者特定的属性存 ...
- 程序基于InstallShield2013LimitedEdition的安装和部署
在VS2012之前,我们做安装包一般都是使用VS自带的安装包制作工具来创建安装包的,VS2012.VS2013以后,微软把这个去掉,集成使用了InstallShield进行安装包的制作了,虽然思路差不 ...
- WPF 选择文件选择文件夹
namespace Microsoft.Win32 选择文件: if (string.IsNullOrEmpty(folderInitialDirectory)) { folderInitialDir ...
- Asp.Net中Global报错,关键字也不变色问题
原因是我把Global名字改了,使用默认名字就好了
- 打印X
***.....***// .***...***.// ..***.***..// ...*****...// ....***....// ...*****...// ...
- 小鸟初学Shell编程(四)管道符
管道作用 管道实际上就是进程之间的一个通信工具,那么用在Linux命令中主要是方便两条命令互相之间可以相互通信. 管道符 管道符(匿名管道)是Shell编程经常用到的通信工具. 管道符是"| ...
- web前端-js
1. js基础语法 声明变量 var a = 10; 查看变量类型 typeof a; 打印,测试语句 alert(a); #使用弹出框显示 console.log(a); #使用console ...
- 使用qwt作曲线图——有网格线背景的画法
创建自己的QwtPlot (1) 增加一个类比如curvePlotWidget,继承自QwtPlot (2)代码示例 curvePlotWidget::curvePlotWidget(QWid ...
- Android培训准备资料之Android开发环境的搭建
Android开发环境的搭建主要分为以下四步: (1)下载JDK并安装 (2)配置JDK环境变量 (3)下载安装Android Studio (4)配置Android SDK环境变量(可执行可不执行) ...
- 处理 JS中 undefined 的 7 个技巧
摘要: JS的大部分报错都是undefined... 作者:前端小智 原文:处理 JS中 undefined 的 7 个技巧 Fundebug经授权转载,版权归原作者所有. 大约8年前,当原作者开始学 ...