在“杀死9”的过程中使用地块

时间:2012-11-22 11:54:08

标签: memory valgrind massif

我正在尝试对一个消耗太多内存的程序进行内存分析,并被9(9)信号的OS(FreeBSD)杀死。这发生在某些特定数据上,因此在另一个(例如较小的)数据集上进行分析不会给予太多帮助。当程序被杀死时,9个断块根本不会产生任何输出。在这种情况下可以做些什么来获取内存配置文件?

1 个答案:

答案 0 :(得分:1)

如果您有最近的Valgrind版本(> = 3.7.0), Valgrind有一个嵌入式gdbserver,因此它可以与gdb一起使用。

在您的应用程序开始在Valgrind下运行之前,您可以放置​​断点。 遇到断点时,可以使用GDB监视器命令 调用Valgrind工具特定功能。 例如,使用Massif,您可以触发报告的生成。 使用Memcheck,您可以进行泄漏搜索,检查有效位,......

也可以从shell命令触发这些监视命令 line(使用Valgrind vgdb实用程序)