我正在编写一个应用程序,我很惊讶它的总内存使用量已经太高了.我想分析我的应用程序的动态内存使用情况:堆中有多少个对象,以及哪些函数创建了这些对象?此外,每个对象使用了多少内存?
有一个简单的方法吗?我正在研究linux和windows,所以任何平台的工具都足够了.
注意:我不关心这里的内存泄漏.
请建议用于测试C和C++分配器的基准测试?满足以下任何方面的基准被认为:
谢谢!
如何在没有源的情况下启用mtrace() (和MALLOC_TRACEenv)二进制程序?
mtrace是glibc的特色:http://www.gnu.org/s/hello/manual/libc/Allocation-Debugging.html
谢谢
我想监视在我的程序执行期间从 HEAP 使用了多少内存空间,其中 C++ 对象根据需要构造和销毁。
收集这些信息的方法是什么?
我觉得应该以某种方式在全局范围内使用覆盖 new 和 delete 运算符,但我不知道如何执行此操作。
有什么帮助吗?