4

在分析大型应用程序的内存消耗期间,我使用来自 glibc 的 mtrace。但问题是它只给出了 malloc 调用的来源,而不是完整的堆栈跟踪。因此,如果我在许多地方使用的方法中使用 malloc,我只会报告一个无法区分的 malloc 来源。另一个问题是标准 c 库和 CSimpleArray 等通用对象。我只知道有人使用了巨大的数组,但不知道具体是谁。

所以我认为我需要完整的堆栈跟踪才能知道谁使用了 malloc。你知道是否存在这样的 mtrace 变体吗?还是可以简单地修改它来做到这一点?

只是备注:我的 mtrace.out 日志包含 300k 行,在使用 mtrace 脚本处理后它有 10k 条目。如果我只本地化 10% 的最大块,这对我来说就足够了。

4

0 回答 0