注意: 我在OSX / Yosemite,所以Valgrind目前不在。 DTrace是,但没有libc:malloc hook可用。
问题陈述:
我有一个使用太多内存的C ++程序,我需要知道罪魁祸首是谁/什么。请注意,它没有内存泄漏,只是使用了太多内存。 在内存使用方面,我需要知道:
WHO :知道谁在分配内存(源文件,行号)会很高兴。
什么:知道分配的内容(类名)会很好。
我可以编写自己的malloc / calloc / realloc并且(有点)自己弄清楚,但我想看看是否有任何工具可以先做到这一点。
答案 0 :(得分:0)
事实证明,使用带有Valgrind地块的Linux虚拟机要容易得多:) 万岁的虚拟机!
答案 1 :(得分:-1)
你可以试试dmalloc(http://dmalloc.com)
从源代码构建,链接到您的程序,然后使用http://dmalloc.com/docs/latest/online/dmalloc_13.html
中的实用程序功能(免责声明:我不使用OSX,因此上述内容可能无效)