【发布时间】:2011-09-26 18:52:29
【问题描述】:
我的C 代码在使用 valgrind 检查时没有显示任何内存泄漏。但是当我将该代码与另一个系统集成时,该系统有自己的内存管理但当然调用 malloc 来分配内存,显示内存泄漏。 Valgrind 检查过去每次都是正确的,但这次它对我不起作用。我想知道是否有内存泄漏的可能性,尽管valgrind 说没有内存泄漏。 valgrind 的最强参数可以设置为找到最难的内存泄漏?
【问题讨论】:
-
这还不清楚。能不能说的更准确点。
-
@David,感谢您的回复。我使用其标准库在 C 中实现了一个数据结构。我使用 valgrind 检查了内存泄漏。valgrind 显示 没有内存泄漏。当我将相同的代码与另一个项目集成时,它显示内存泄漏。该项目有自己的内存管理模块,但它使用相同的 malloc 和 free 来分配内存并释放它。在集成到项目之前我总是这样做,并且在集成到在 valgrind 中测试并且没有内存泄漏的项目后从未出现内存泄漏。
-
contd .... 但是这一次,valgrind 没有显示任何内存泄漏,但是一旦我将相同的代码集成到项目中就会出现内存泄漏。
-
听起来与其他项目的集成引入了内存泄漏。为什么你不信任 valgrind?
-
我一直信任 valgrind,我只是想在极少数情况下 valgrind 也无法检测到内存泄漏。你能告诉我 valgrind 中是否有一些选项可以检测 最严重的内存泄漏?
标签: c memory-leaks valgrind