如何跟踪 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++)中的内存使用情况?

如何在 Visual Studio 中找到堆栈跟踪?

跟踪为在 C#/Visual Studio 中进行调试而进行的更改

如何使用 Visual Studio 2017 Linux 支持编译和构建 C++17 代码?

无法找到visual studio 2017生成工具

Visual Studio 2017为xamarin表单创建空解决方案