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 调试器?