【发布时间】:2016-05-13 09:03:50
【问题描述】:
我需要知道我的程序中的哪些地方调用了malloc/new,并且对于每个这样不同的地方,多少次。关于内存分配的自上而下函数调用分析。
是否有任何工具可以收集此类统计信息? (malloc/new 主要通过std::vector 成员函数调用。)
【问题讨论】:
-
如果你在 Linux 上,valgrind 会有所帮助。否则,也许在 malloc/free 的输出中使用像 gprof 和 grep 这样的分析器?
-
我如何使用 Valgrind 或 gprof 来找出来自特定源代码位置的
malloc/new调用的数量?或者,更好的是找出热点,即大部分内存分配发生的源代码位置? -
对于 valgrind,也许抑制可能有助于查明可疑的代码区域。但可能,探查器更好。
-
哪个分析器?我已经尝试过 gprof 和 Intel VTune,但没有看到我正在寻找的统计数据。
-
如果你使用 Visual Studio,试试vld
标签: c++ c statistics malloc new-operator