【发布时间】:2011-01-23 08:15:28
【问题描述】:
我有一个包含所有 c 代码的 MS-Visual Studio 2005 工作区。此应用程序(exe)使用 malloc 和 realloc 从堆中动态分配内存。当我运行特定的测试用例时,我想计算此应用程序使用 malloc/realloc 在堆上分配的最大大小。
我不想通过记录 malloc 大小并累积它们来更改代码,因为:
a) 可能存在这样一种情况,即 malloc'ed 一些 1KB 的内存,然后释放,然后 malloc'ed 2KB 的内存。所以 max 是 2KB,我需要将其作为值而不是 1+2=3KB。
因此,我必须真正查看此代码中发生 malloc/free 的位置并为此添加代码,这是我想避免的。
1) 那么是否有任何工具(免费软件/许可)来查找使用 malloc/realloc 动态分配的最大或总内存的大小?
2)MS Visual Studio 2005/2008 本身是否提供此类功能?
谢谢,
-AD
【问题讨论】:
标签: memory dynamic size allocation