在C ++中,我怎么能告诉WHICH这段代码是分配什么类型的对象?

时间:2014-11-14 12:08:32

标签: c++ memory memory-management memory-leaks

注意: 我在OSX / Yosemite,所以Valgrind目前不在。 DTrace是,但没有libc:malloc hook可用。

问题陈述:

我有一个使用太多内存的C ++程序,我需要知道罪魁祸首是谁/什么。请注意,它没有内存泄漏,只是使用了太多内存。 在内存使用方面,我需要知道:

WHO :知道谁在分配内存(源文件,行号)会很高兴。

什么:知道分配的内容(类名)会很好。

我可以编写自己的malloc / calloc / realloc并且(有点)自己弄清楚,但我想看看是否有任何工具可以先做到这一点。

2 个答案:

答案 0 :(得分:0)

事实证明,使用带有Valgrind地块的Linux虚拟机要容易得多:) 万岁的虚拟机!

答案 1 :(得分:-1)

你可以试试dmalloc(http://dmalloc.com

从源代码构建,链接到您的程序,然后使用http://dmalloc.com/docs/latest/online/dmalloc_13.html

中的实用程序功能

(免责声明:我不使用OSX,因此上述内容可能无效)