如何跟踪 Visual Studio 2017(C++)中的内存使用情况?
Posted
技术标签:
【中文标题】如何跟踪 Visual Studio 2017(C++)中的内存使用情况?【英文标题】:how to track the memory usage in visual studio 2017 (c++)? 【发布时间】:2017-10-14 11:20:13 【问题描述】:我有一个错误提示“检测到堆损坏”,所以我想知道如何获取所有程序的内存位置。
【问题讨论】:
我不太清楚您希望该工具告诉您什么。您想知道您的程序访问的内存位置,还是试图写入该内存段的代码行?另外,在图片链接前加上感叹号 (!
) 可直接将其嵌入问题中,例如![alt text][1]
How do I diagnose heap corruption errors on Windows?的可能重复
SmartBear AQTime 是一个不错的分析工具。
我想知道@ZoeyHewll 程序访问的内存位置
【参考方案1】:
如果程序在总是分配 #150 时是可靠的,那么您可以调用 _CrtSetBreakAlloc(150) 在第 150 次分配时中断。或者,您可以通过调用 _CrtSetDbgFlag( _CRTDBG_CHECK_ALWAYS_DF ) 来降低程序速度并让调试堆更准确地报告问题,这会打开堆检查所有分配和释放。
最后,您可以使用 Application Verifier 为您的产品发布版本来查找问题。 Application Verifier 下载地址为Microsoft : here
【讨论】:
以上是关于如何跟踪 Visual Studio 2017(C++)中的内存使用情况?的主要内容,如果未能解决你的问题,请参考以下文章
如何跟踪 Visual Studio 2017(C++)中的内存使用情况?
跟踪为在 C#/Visual Studio 中进行调试而进行的更改