无法抑制 valgrind 中的错误

Unable to suppress errors in valgrind

谁能告诉我如何向 valgrind 添加自定义抑制的示例?我 99.99% 确定它会为字符串 class 生成错误,我想抑制 .supp 文件中的错误。我认为只需将它添加到目录或将我的函数添加到 default.supp 就足够简单了,但错误并没有被抑制。这就是我所做的:

1) 我 运行 valgrind 与 --gen-suppressions=yes 2) 为我下面列出的错误获得了生成的抑制

  #Custom Suppression
  {
     MyCustomSupression
     Memcheck:Addr1
     fun:strlen
     fun:_ZNSsC1EPKcRKSaIcE
     obj:/home/steve/path/to/the/program
     obj:/home/steve/path/to/the/program
     obj:/home/steve/path/to/the/program
     obj:/home/steve/path/to/the/program
     obj:/home/steve/path/to/the/program
     obj:/home/steve/path/to/the/program
     obj:/home/steve/path/to/the/program
     fun:(below main)

}

3) 我将文件添加到 default.supp 所在的目录,该目录位于我的 eclipse 文件夹中

4) 我再次 运行 valgrind 但错误仍然存​​在

注意:我还尝试将抑制添加到 default.supp 文件中。我错过了一步吗?我做错了什么?

我很确定你在 运行 valgrind 时需要指定抑制文件,就像这样

##Generate suppressions
valgrind --gen-suppressions=yes myProgram
## Cut-Paste into string.supp
##Now rerun valgrind
valgrind --suppressions=./string.supp myProgram

有关详细信息,请参阅 command line options