【发布时间】:2014-11-24 06:59:57
【问题描述】:
我正在编写一个 C++ 程序,它使用的内存比我预期的要多(通过例如 Linux top 命令测量);在这种情况下它很重要,因为可用内存是程序功能的一个重要限制因素。有没有办法判断哪些数据结构(类或对象)占用了多少内存?
也就是说,我当然可以将每个对象包装在代码中以单独跟踪其内存使用情况,但我想知道是否有使用现有工具(例如 gdb 或 valgrind)的更自动化的解决方案?
【问题讨论】:
-
您的程序中可能存在内存泄漏。使用 memecheck 运行 valgrind,它可能会有所帮助。 valgrind.org/docs/manual/mc-manual.html
标签: c++ linux debugging memory-management