1
30
对于大多数抑制类型,您省略了通配符,如下所示:
请注意,必须分别列出每种类型的错误,不能使用通配符。您还必须列出库的整个路径名(如valgrind所示,带有任何“装饰”如版本号)。 此外,对泄漏的处理方式也不同——对于那些需要类似以下内容的人:
|
2
17
似乎有必要为每个 类型 错误(条件、值4、参数等)。但根据我对valgrind-3.6.0.svn-debian的测试,我相信您可以对每种类型的错误使用以下简化形式…
这三个点叫做 帧级通配符 在Valgrind文档中。这些匹配调用堆栈中零个或多个帧。换句话说,当 不管是谁调用了库,或者库随后调用了什么函数 . 有时错误包括“obj:”帧,有时它们只使用“fun:”帧。一般来说,这是基于该函数是否包含在库的符号表中。如果目标是排除整个库, 如果库中不包含符号,它可能工作得最好 因此,您可以基于库文件名排除,而不必为库中的每个函数调用创建单独的禁止显示。希望,valgrind足够聪明,可以根据库文件名抑制错误,即使它 做 知道函数名,但我还没有验证。 如果您确实需要基于库中的各个函数添加禁止显示,那么您应该能够使用相同的表单…
注意:您可以包括
注:
|
3
2
nobar's answer 几乎对我有用,但我遇到了一个语法错误:
对于系统调用,我需要添加一个额外的行作为 docs 状态:
所以我最终得到了这个结果,它起了作用:
|
gornvix · 如何从valgrind获得更多信息? 6 年前 |
Ilya · 递归结构的向量存在内存问题 7 年前 |
user7610 · 直接泄漏和间接泄漏之间有什么区别? 7 年前 |
Danny · gcc/C++禁用vex指令的生成 7 年前 |
user3078625 · 如何让cg_注释包含字典? 7 年前 |
SonicN · realloc调用中的写入无效[已关闭] 7 年前 |