Valgrind Massif 工具力快照

cst*_*fel 4 c++ valgrind massif

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

谢谢

phd*_*phd 5

有 3 种方法可以要求 Massif 输出快照。它们都通过监视器请求进行,如 http://www.valgrind.org/docs/manual/ms-manual.html#ms-manual.monitor-commands中记录的那样

这些监视器请求可以通过 3 种不同的方式传递到 Massif:

  1. 使用 vgdb 从 shell 以交互方式进行。例如vgdb快照

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

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