微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

是否可以在 valgrind 中设置 bseline 内存使用情况以进行泄漏检测?

如何解决是否可以在 valgrind 中设置 bseline 内存使用情况以进行泄漏检测?

有没有办法从我的代码内部告诉 valgrind 何时开始以及何时停止检查内存泄漏?

我正在使用旧测试框架,该框架必须与我的测试程序链接才能运行。该框架存在内存泄漏 - valgrind 显示大约 50KB 的内存尚未释放,但可以通过启发式访问。这很烦人,因为我必须记住这个数字才能查看我的代码泄漏了多少内存。如果我可以告诉 valgrind 在我的第一次测试开始时开始收集内存统计数据,并在最后一次测试结束时停止收集,那将会方便得多。有它的 API 吗?

解决方法

valgrind memcheck 允许进行“差异”泄漏搜索。差分泄漏搜索报告先前泄漏搜索与当前情况之间的差值。

您可以使用带有 vgdb 的监视器命令,从 shell 或从 gdb 执行此类差异泄漏搜索。见https://www.valgrind.org/docs/manual/mc-manual.html#mc-manual.monitor-commands

您还可以使用您程序中的客户端请求 VALGRIND_DO_CHANGED_LEAK_CHECK,请参阅 https://www.valgrind.org/docs/manual/mc-manual.html#mc-manual.clientreqs

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。