我有一个没有内存泄漏的程序(使用valgrind分析)。但是,程序会运行到std::bad_alloc
中。我对内存消耗的手动估算告诉我,该程序运行所需的内存应该足够。
我不知道哪个变量消耗了太多内存。抛出std::bad_alloc
的变量很小。
是否有一种方便的方法来确定所有变量,对象等的当前占用空间?
可以很好地可视化内存占用量吗?
可用的是totalview,适用于Linux的intel工具(例如Amplifier,Inspector)和适用于Windows的VisualStudio。