如何获取函数消耗的内存

时间:2009-03-27 02:35:36

标签: memory function

我们的应用程序消耗大量内存,我们需要确定哪个函数会导致内存的最大使用量。他们以任何方式甚至任何现有工具来做这件事(Windows,Native)?

以下是环境:

Windows Xp

VS2008

Native C ++(基于MFC)

非常感谢。

3 个答案:

答案 0 :(得分:3)

如果您有Visual Studio 2008 Team System,则可以使用built-in memory allocation分析器。这是一篇很好的MSDN文章Find Application Bottlenecks with Visual Studio Profiler使用VS2008。还有一个分析器blog

RedGate's ANTS

MemProfiler

ValGrind(免费)

编辑:既然您已更新以表明C ++,请同时查看此SO answer

另见:

.NET Memory Profiling Tools

Does anyone here have a favorite memory profiling/memory leak tool they like to use for their java webapps?

Best .NET memory and performance profiler?

答案 1 :(得分:0)

使用分析器。例如Automated QA的AQTime - http://www.automatedqa.com/products/aqtime/index.asp

答案 2 :(得分:0)

大多数工具/分析器仅在.NET应用程序上运行,在您的情况下是n / a

我已经使用Boundschecker和Purify来检查本机应用程序的内存泄漏/内存分析(它们有试用版AFAIK)但如果你只对一次性感兴趣,你也可以使用内置函数来实现这个目的分析

在您的在线帮助中查找_crtCheckMemory以获取起始位置。