如何在执行应用程序时获取已用内存量

时间:2011-02-05 12:05:49

标签: c++ c gdb memory-management

我查看了GDB文档,但没有找到任何可行的或显示我需要的东西:我的应用程序使用的最大内存量。

我正在使用MinGW-w64(适用于Windows的GCC),如果相关的话。我想以编程方式喜欢的东西,而不是“查看你的任务管理器”。另外:我的应用程序一次性执行,它不会停止或停止在任何地方,我想保持这种方式。

谢谢!

3 个答案:

答案 0 :(得分:1)

你可以包装malloc / free或new / delete: How-to-profile-memory-usage-of-a-c-program

因此,您可以随时检查您正在使用的内存量(堆)。

答案 1 :(得分:0)

Windows提供函数来返回正在使用的内存量。

http://msdn.microsoft.com/en-us/library/aa366589(v=VS.85).aspx

答案 2 :(得分:0)

标准没有指定比malloc()free()更深的内容,这使得C库可以自由地实现它们在目标环境中工作。结果是,像GDB这样没有绑定到特定环境的调试器将无法深入了解内存分配。