【发布时间】:2018-07-20 22:51:34
【问题描述】:
我希望在我的代码中添加一些内容,以便我可以在其执行的某些点强制执行 Massif 快照,例如在服务器中将 massif 快照转储到请求之间的文件中,以查看我是否持有请求之间的大量内存。我无法找到一种方法,无论是宏还是库调用来强制它在那时转储快照,是否有这样做的?
谢谢
【问题讨论】:
我希望在我的代码中添加一些内容,以便我可以在其执行的某些点强制执行 Massif 快照,例如在服务器中将 massif 快照转储到请求之间的文件中,以查看我是否持有请求之间的大量内存。我无法找到一种方法,无论是宏还是库调用来强制它在那时转储快照,是否有这样做的?
谢谢
【问题讨论】:
有 3 种方法可以让 massif 输出快照。 它们都通过监视器请求进行,如记录在 http://www.valgrind.org/docs/manual/ms-manual.html#ms-manual.monitor-commands
这些监控请求可以通过 3 种不同的方式传递给 massif:
使用 vgdb 从 shell 交互。例如。 vgdb 快照
从 gdb 交互,使用 gdb+vgdb。例如。 (gdb) 监控快照
来自您的程序,通过使用 valgrind 客户端请求 VALGRIND_MONITOR_COMMAND("快照") 或者 VALGRIND_MONITOR_COMMAND("detailed_snapshot")
【讨论】: