【发布时间】:2013-12-20 01:24:37
【问题描述】:
我有一个复杂的 C++ 代码库。我运行了一个内存分析器来计算 malloc 分配的字节数,这给了我 X 个字节。从理论上讲,我的代码应该返回 X-Y 字节(Y 随输入而变化,范围从几 KB 到几 GB,因此这是不可忽略的。)
我需要找出我的代码的哪一部分要求额外的字节。我尝试了一些工具,但无济于事:massif、perf,我什至尝试过gdb 打破malloc()。我可能会为 malloc 编写一个包装器,要求提供调用函数,但我不知道该怎么做。
有谁知道如何找出程序的不同部分需要多少内存?
【问题讨论】:
-
你真的是指
malloc(),还是new/delete导致问题?