如何通过未初始化值的来源抑制valgrind警告?

Cal*_*ius 18 valgrind

Valgrind将使用该track-origins=yes选项告诉您未初始化值的来源.

我试图压制这些警告,但问题是基于未初始化值的数据可以传播到任何地方,在其他地方也会发出警告.

解决方案将取决于未初始化数据的来源.我该怎么做?可能吗?似乎抑制文件只过滤堆栈跟踪.

我想要的原因是,OpenSSL通过故意使用未初始化的值来增强随机性,我想用valgrind测试发布版本(所以-DPURIFY不是一个选项).

Art*_*ski 9

我对你的问题的初步解读是,你可能可以禁用所有未初始化的值错误,在这种情况下--undef-value-errors=no可以解决问题.

如果你正在寻找零碎的东西,一些仓促的测试似乎表明使用--gen-suppressions=yes,然后回答相关的输出,并将它们放在一个抑制文件中,当我摆弄我的openssl二进制文件时,它会为我工作.

另外,您可能会找到答案如何告诉Valgrind完全抑制特定的.so文件?有用.

  • 不想不要压缩未初始化的值,因为这样的错误可以在我的程序中...我希望valgrind在未初始化的值来自特定函数时不显示错误. (8认同)