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

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

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

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

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

01 打开内存窗口

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

打开“内存”窗口调试

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

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

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

02 在内存窗口中移动

计算机的地址空间很大,您能够经过滚动内存窗口轻松地丢失您的位置。图片

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

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

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

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

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

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

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

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

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

按下回车键,以下图:

可是我的看不懂里面具体的内容。

03 自定义内存窗口

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

要更改内存内容的格式:

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

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

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

若是您不但愿在应用程序运行时更改“ 内存”窗口的内容,则能够关闭实时表达式评估。

要切换实时评估:

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

您能够隐藏或显示“ 内存”窗口顶部的工具栏。隐藏工具栏时,您将没法访问“ 地址”字段或其余工具。

要切换工具栏显示:

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

04 跟踪内存中的指针

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

要经过内存跟踪指针:

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

  2. 按Enter键。

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

 

相关文章
相关标签/搜索