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