Valgrind Massif 以编程方式手动拍摄快照

Valgrind Massif take snapshot manually in a programatic way

我正在使用 Valgrind Massif 来测量我的程序的内存使用情况。其实我知道我在哪里分配或释放内存(粗略),所以我想手动拍摄快照。此外,我想比较多次运行的结果,因此手动拍摄快照相比起来更有意义。

有没有程序化的方法来做到这一点?

您可以使用 massif 监视器命令指示 massif 拍摄快照。

https://www.valgrind.org/docs/manual/ms-manual.html#ms-manual.monitor-commands

可以使用 vgdb 从 shell 完成此类监控命令 或者在您的程序中,使用客户端请求 VALGRIND_MONITOR_COMMAND.

https://www.valgrind.org/docs/manual/manual-core-adv.html#manual-core-adv.clientreq

注意,如果你有一个特定的客户端请求对应一个监控命令,最好使用特定的客户端请求,而不是'generic' VALGRIND_MONITOR_COMMAND。

就地块而言,没有具体的客户要求。