运行valgrind -v时,我从valgrind得到两个被抑制的dl-hack3-cond-1错误。我在我的代码中使用calloc但我确保释放所有内容并设置为NULL。还要确保每个calloc返回都进行类型转换。我试图做一些研究,看看错误背后的含义,发现它与动态链接有关,但是关于它的信息也很有限。这是一个类,教师说我们的valgrind运行中不能有任何被抑制的错误。
我听说这可能发生在64位系统上运行,这有什么道理吗?谢谢你的帮助。
答案 0 :(得分:3)
如果你的导师真的说过那么他们就是个傻瓜......
valgrind
附带的默认抑制是有原因的,因为标准系统库中存在一些错误,无论您在自己的代码中执行什么操作,都无法摆脱这些错误。
在许多情况下,它们可能是误报,但在任何情况下,valgrind开发人员都认为它们不是用户可以或应该尝试做任何事情的事情,这就是为什么他们为他们提供抑制作为默认的一部分安装。
也许你的导师真的意味着你自己的代码中不应该有任何被抑制的错误?这将是一个完全合理的要求。
答案 1 :(得分:0)
问题出在64位系统中。最后得到Valgrind安装在我的笔记本电脑上,同样的事情运行0错误。谢谢你的时间和想法。