Visual C++:运行时内存调试器刷新

Posted

技术标签:

【中文标题】Visual C++:运行时内存调试器刷新【英文标题】:Visual C++: memory debugger refresh while running 【发布时间】:2018-01-09 11:43:49 【问题描述】:

在 Visual C++ 2015 中,内存调试器窗口显示

“当被调试者运行时不可用。”

进程运行时。

是否可以在不暂停进程的情况下显示和重新评估某个地址的内存,例如 实时视图

【问题讨论】:

像 RAM 磁盘/驱动器一样? 您可以在任意时间获取进程的内存转储,而无需附加调试器并让它在断点处停止(即它会在最短的时间内暂停);然后您可以使用它来定位您的地址。够了吗? @UKMonkey 或多或少。我想要一些东西,比如我在堆上设置地址,然后每秒刷新一次该值的内存,闪烁红色的字节改变了。 VTT 的答案似乎只适用于单个变量,但我想监视一个相当大的整数数组。 【参考方案1】:

是的,这是可能的。放置断点,打开断点设置按钮(齿轮)并设置操作以打印包含感兴趣变量值的日志消息,例如var_name。示例:

auto i0u;
for(;;)

   ++i;

将每 10000 次迭代将i 的值打印到 VS 输出窗口中。

此屏幕截图来自 VS2017,但它可能也适用于 VS2015。

【讨论】:

以上是关于Visual C++:运行时内存调试器刷新的主要内容,如果未能解决你的问题,请参考以下文章

Visual Studio 2008 C++ 误报内存地址位置

Visual Studio C++ 调试器:没有十六进制转储?

在 Visual Studio 中调试时启用内存使用情况中的实时图表

如何在运行时确定您的 C++ 应用程序何时附加了 Visual Studio 调试器?

设置公共语言运行时支持后,无法在 Visual Studio 2013 中调试 C++ [重复]

Visual C++:发布模式的运行时库作为“多线程调试 DLL”