创建valgrind报告的最简单方法是使用命令--gen-suppressions=all
运行valgrind。
但我们仍然必须至少运行一次测试。在我的情况下,单个valgrind测试需要太长时间,因为我已经有一个没有--gen-suppressions=all
命令运行的以前运行的valgrind报告,有没有办法从该报告中获取抑制命令?
答案 0 :(得分:1)
当然,如果Valgrind为你做这一代,那将会容易得多。如果你没有太多的抑制来添加,我只建议你试试这个。
格式描述为here。看起来像这样
{
description, preferably unique
Memcheck:[error type]
callstack 1
callstack 2
etc
}
如果您想手动执行此操作,则需要计算从详细日志描述到简洁抑制名称的所有映射。例如
条件跳转或移动取决于未初始化的值
对应
MEMCHECK:电导率
接下来,对于callstack,如果你只有一个应用程序(没有动态库)并且使用调试信息编译它,你的生活会更容易。你需要解决
您可能还想使用通配符。 '*'匹配路径组件,...匹配callstack深度中的任何内容。例如
乐趣:FOO
...
有趣:杆
这将匹配foo和bar之间的任意数量的呼叫级别。