针对现有代码库运行 Valgrind,我收到很多“不匹配的免费/删除/删除 []”错误。其中许多是一个问题的重复:它声称在第 XXX 行使用了一个delete
操作,而在 YYY 行malloc
使用了一个操作。但是,当我打开它抱怨的文件并导航到指示的行号时,我发现内存不是malloc
用new
. 分配的对象是一个标准ifstream
,既没有new[]
也没有delete[]
被使用。
我正在运行 Valgrind 3.5。有谁知道发生了什么?我看不出这怎么可能是一个真正的错误,但我看到有些人声称 Valgrind 不会出现很多误报,所以我想在压制它之前确信这是假的。