我正在开发一个多线程应用程序,该应用程序似乎在其运行期间分配了大量的内存。所有内存在执行结束时被释放,因此valgrind显示没有内存泄漏。我试图使用massif工具来查找正在发生的情况,但是ms_print似乎仅显示有关主线程的信息。但是,我相信绝大多数内存是在子线程中分配的。是否可以使massif显示有关它们的信息?

最佳答案

对我来说(Ubuntu 12.04),这似乎在默认情况下有效。像在您的应用程序中一样,我的主线程没有执行任何操作(除了处理基于gtk的UI),所有(取消)分配都在子线程中完成。

我确实有一些最初的困难,因为我正在分析一个基于自动工具的项目,并且在第一次尝试中,我正在分析由libtool生成的shell脚本,而不是我的应用程序。

09-16 00:23