使用valgrind检查时,我的C
代码没有显示任何内存泄漏。但是当我将该代码与另一个系统集成时,该系统有自己的内存管理但当然调用 malloc
来分配内存,显示内存泄漏。 Valgrind检查过去每次都是正确的,但这次它对我不起作用。我想知道是否存在内存泄漏的可能性,尽管valgrind
表示没有内存泄漏。为了找到最难的内存泄漏,valgrind的最强参数是什么?
答案 0 :(得分:3)
我认为你很可能还有内存泄漏 - 不是因为我认为valgrind有bug,而是因为我认为将它与另一个项目集成可能会使代码的运行方式与测试不同。 (仅供参考 - 我没有发现任何内存泄漏的情况,其中valgrind说我的代码很清楚,尽管这几乎不是详尽的证据)。我认为,为了解决问题,要么在未集成的版本中添加测试,要么在valgrind中运行集成版本。
其他选项可能是确保您不会抑制任何可能有害的错误,添加--leak-check = full,或以其他方式使用您的valgrind设置。