2

我希望在我的代码中添加一些内容,以便我可以在其执行的某些点强制执行 Massif 快照,例如在服务器中将 Massif 快照转储到请求之间的文件中,以查看我是否持有大量内存请求之间。我无法找到一种方法,无论是宏还是库调用来强制它在那时转储快照,是否有办法做到这一点?

谢谢

4

1 回答 1

2

有 3 种方法可以让 massif 输出快照。它们都通过 http://www.valgrind.org/docs/manual/ms-manual.html#ms-manual.monitor-commands中记录的监控请求

这些监控请求可以通过 3 种不同的方式传递给 massif:

  1. 交互式地,从一个 shell,使用 vgdb。例如 vgdb 快照

  2. 交互式地,从 gdb,使用 gdb+vgdb。例如(gdb)监控快照

  3. 从您的程序中,通过使用 valgrind 客户端请求 VALGRIND_MONITOR_COMMAND("snapshot") 或 VALGRIND_MONITOR_COMMAND("detailed_snapshot")

于 2015-11-24T20:49:50.517 回答