调试器如何只看到值而不是变量的内存地址

Posted

技术标签:

【中文标题】调试器如何只看到值而不是变量的内存地址【英文标题】:Debugger how to only see values not memory addresses of variables 【发布时间】:2016-12-19 11:37:22 【问题描述】:

最近我一直在 Visual Studio 中广泛使用结构和类。它们中的大多数都有很多值,这使得它们在调试时很难在监视窗口中跟踪,因为监视窗口和浮动监视窗口(一个你可以固定的,不知道确切的术语)总是显示内存地址,这会掩盖值的视图。有没有办法让监视窗口只显示值而不是内存地址

【问题讨论】:

您可以为调试器编写自己的说明,了解如何查看您的自定义类型msdn.microsoft.com/en-us/library/jj620914.aspx @Blackwolf23,有更新吗?请告诉我有关此问题的最新信息吗?你能从我的建议中得到任何有用的信息吗?:) 【参考方案1】:

编写自定义 natvis 将是一种解决方法。

但如果调试器知道内存位置的类型,我认为它可以显示该值。

参考:

Is it possible to watch the value of a memory location using the Visual Studio Debugger's Watch window?

此外,在监视窗口中使用格式说明符将有助于您访问值格式:

https://msdn.microsoft.com/en-us/library/75w45ekt.aspx

【讨论】:

以上是关于调试器如何只看到值而不是变量的内存地址的主要内容,如果未能解决你的问题,请参考以下文章

变量名,变量值和内存地址,这三者在内存中是以某种编码方式存储在同一块空间里吗

-6在vs内存中地址

VS2010如何查变量内存地址

调试 – 观察Linux内核中的变量(内存地址)更改,并在更改时打印堆栈跟踪?

C如何检查内存地址是不是仍在范围内[关闭]

内存地址中的位