在调试期间,“内存”窗口显示应用程序正在使用的内存空间。

调试器窗口(如监视窗口、自动窗口、局部变量窗口和快速监视对话框)显示变量,这些变量存储在内存中的特定位置。“内存”窗口向您显示整体图片。内存视图便于检查在其他窗口中显示不好的大数据块(例如缓冲区或大字符串)。

内存窗口不限于显示数据。它显示内存空间中的所有内容,包括数据、代码和未分配内存中的随机垃圾位。

内存窗口不可用于脚本或SQL调试。这些语言不能识别内存概念。

01 打开内存窗口

要启用内存窗口,必须在“工具>选项”(或“调试>选项”)>调试>常规中选择“启用地址级调试”。

打开“内存”窗口

  1. 请确保启用地址级调试中选择工具 > 选项(或调试 > 选项) >调试 > 常规。

  2. 开始调试通过选择绿色箭头,按F5,或选择调试 > 开始调试。

  3. 下调试 > Windows > 内存,选择内存 1,内存 2,内存 3,或内存 4。 (某些版本的Visual Studio产品/服务只有一个内存窗口。)

02 在内存窗口中移动

计算机的地址空间很大,您可以通过滚动内存窗口轻松地丢失您的位置。

较高的内存地址显示在窗口的底部。要查看更高的地址,请向下滚动。要查看较低的地址,请向上滚动。

您可以使用拖放或在“ 地址”字段中输入地址,立即转到“ 内存”窗口中的指定地址。“ 地址”字段接受字母数字地址和计算地址的表达式,例如。e.User.NonroamableId

要强制立即重新评估“ 地址”字段中的表达式,请选择“ 自动重新评估自动”图标的圆角箭头。

默认情况下,“ 内存”窗口将“ 地址”表达式视为实时表达式,在应用程序运行时将其重新评估。例如,实时表达式可用于查看指针变量触及的内存。

要使用拖放移动到内存位置:

  1. 在任何调试器窗口中,选择内存地址或包含内存地址的指针变量。

  2. 将地址或指针拖放到“ 内存”窗口中。该地址随后出现在“ 地址”字段中,“ 内存”窗口将调整为在顶部显示该地址。

要在“地址”字段中输入内存位置,请移至内存位置:

  • 在“ 地址”字段中键入或粘贴地址或表达式,然后按Enter键,或从“ 地址”字段的下拉列表中选择它。“ 内存”窗口调整为在顶部显示该地址。

按下回车键,如下图:

但是个人看不懂里面具体的内容。

03 自定义内存窗口

默认情况下,内存内容以十六进制格式显示为1字节整数,窗口宽度决定显示的列数。您可以自定义“ 内存”窗口显示内存内容的方式。

要更改内存内容的格式:

  • 在“ 内存”窗口中单击鼠标右键,然后从上下文菜单中选择所需的格式。

要更改“内存”窗口中的列数:

  • 选择“ 列”字段旁边的下拉箭头,然后选择要显示的列数,或者根据窗口宽度选择“ 自动”进行自动调整。也可以手动输入数字。

如果您不希望在应用程序运行时更改“ 内存”窗口的内容,则可以关闭实时表达式评估。

要切换实时评估:

  • 在“ 内存”窗口中单击鼠标右键,然后在上下文菜单中选择“ 自动重新评估”。

您可以隐藏或显示“ 内存”窗口顶部的工具栏。隐藏工具栏时,您将无法访问“ 地址”字段或其他工具。

要切换工具栏显示:

  • 在“ 内存”窗口中单击鼠标右键,然后在上下文菜单中选择“ 显示工具栏 ”。工具栏显示或消失,具体取决于其先前的状态。

04 跟踪内存中的指针

在本机代码应用程序中,您可以将注册名称用作实时表达式。例如,您可以使用堆栈指针跟随堆栈。

要通过内存跟踪指针:

  1. 在“ 内存窗口地址”字段中,输入当前范围内的指针表达式。根据语言的不同,您可能需要取消引用它。

  2. 按Enter键。

    使用诸如Step之类的调试命令时,“ 地址”字段和“ 内存”窗口顶部显示的内存地址会随着指针的更改而自动更改。

Visual Studio 调试系列7 查看变量占用的内存(使用内存窗口)的更多相关文章

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

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

  2. Visual Studio 调试系列5 检查变量(使用自动窗口和局部变量窗口)

    系列目录     [已更新最新开发文章,点击查看详细] 在调试时,“自动变量”和“局部变量”窗口会显示变量值. 仅在调试会话期间,这两个窗口才可用. “自动变量”窗口显示当前断点周围使用的变量. “局 ...

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

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

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

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

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

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

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

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

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

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

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

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

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

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

随机推荐

  1. 【题解】Ples [COCI2011]

    [题解]Ples [COCI2011] 依旧是没有传送门,只有提供了数据的官网. [题目描述] \(N\) 个汉子和 \(N\) 个妹纸一起参加舞会,跳舞时只能是一个汉子一个妹纸配对,现在给出每个人的 ...

  2. vsdbg 下载方法 使用下载工具下载后手动安装

    vsdbg国内下载太慢了,这里提供一个使用下载工具下载后,手动安装的处理方法 查看vs build控制台输出: 1>C:\WINDOWS\System32\WindowsPowerShell\v ...

  3. ASP.NET Core快速入门(第6章:ASP.NET Core MVC)--学习笔记

    课程链接:http://video.jessetalk.cn/course/explore 良心课程,大家一起来学习哈! 任务40:介绍 1.Individual authentication 模板 ...

  4. Winform中设置ZedGraph的曲线为散点图

    场景 Winform中设置ZedGraph的曲线符号Symbol以及对应关系: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/10 ...

  5. Java问题记录——OutOfMemoryError

    Java问题记录——OutOfMemoryError 摘要:本文主要分析了OutOfMemoryError的产生原因. 没有分页导致占用大量内存 查看进程 使用 jps 命令查看当前运行的Java进程 ...

  6. 面试阿里百分百问的Jvm,别问有没有必要学,真的很有必要朋友

    面试阿里百分百问的Jvm,别问有没有必要学,真的很有必要朋友 前言: JVM 的内存模型和 JVM 的垃圾回收机制一直是 Java 业内从业者绕不开的话题(实际调优.面试)JVM是java中很重要的一 ...

  7. 读oc52个有效方法的总结

    这本书主要是对于oc语言的代码优化和一些我们不知道的精华.全书分为7章节 1.熟悉oc语言 第一条:了解oc的语言起源 主要是对于oc语言的起源介绍和oc语言的特点进行概括,oc语言主要是使用消息结构 ...

  8. 【推荐】全球最全面的Telegram组群频道的集合网站 持续收集中

    全球最全面的Telegram组群频道的集合网站 https://www.telegramgroup.org Telegram 组群频道分享 可搜索自己想找的组群频道 从小白到大神,一个 telegra ...

  9. [Linux]F5负载均衡器

    F5负载均衡器是硬件的负载均衡设备 F5配置最简单负载均衡,需要配置的参数有Node(节点).Pool(资源池).和Virtual Server(虚拟服务器),它们的关系是,先配置Node,然后配置V ...

  10. 007-OpenStack-启动实例

    OpenStack-启动实例 [基于此文章的环境]点我快速打开文章 1.控制节点操作(controller) [官方文档]点我快速打开文章 1. 创建网络 neutron net-create --s ...