我正在为 valgrind 编写一个抑制文件,我有一个这样的文件(取自核心手册)
{
libX11.so.6.2/libX11.so.6.2/libXaw.so.7.0
Memcheck:Value4
obj:/usr/X11R6/lib/libX11.so.6.2
obj:/usr/X11R6/lib/libX11.so.6.2
obj:/usr/X11R6/lib/libXaw.so.7.0
}
我也想抑制这个
{
libX11.so.6.2/libX11.so.6.2/libXaw.so.7.0
Memcheck:Cond
obj:/usr/X11R6/lib/libX11.so.6.2
obj:/usr/X11R6/lib/libX11.so.6.2
obj:/usr/X11R6/lib/libXaw.so.7.0
}
我真的需要编写两个抑制来实现此目的吗?我搜索了手册和在线文档,但没有找到答案。我还尝试了 MemCheck:*
但 valgrind 退出并显示代码 1。
所以,问题是,我不能将多种类型的错误合并到一个 memcheck 抑制中吗?
最佳答案
没有。对于多种抑制类型,即使调用上下文相同,也需要编写不同的抑制 block 。
也可以在 Valgrind 的文档中看到:http://valgrind.org/docs/manual/mc-manual.html#mc-manual.suppfiles只能有一种抑制类型。
关于debugging - valgrind 多重类型抑制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7597870/