阻止valgrind检查与我们的应用程序链接的共享库中的内存泄漏

时间:2011-01-14 08:04:00

标签: c valgrind

valgrind-3.6.0.SVN-Debian
gcc (Ubuntu/Linaro 4.4.4-14ubuntu5) 4.4.5
2.6.35-22-generic

我正在使用valgrind来检测代码中的内存错误。

但是,应用程序是否使用某些第三方库(共享库)。当我们开始使用valgrind捕获时。它进入此库,并使用此库显示许多内存错误。因此很难检查我们的申请。有很多事要做。

可以配置valgrind只检查我们的源代码而不是进入共享库吗?

如果valgrind不能,还有其他开源内存检查软件可以做到这一点吗?

非常感谢任何建议,

2 个答案:

答案 0 :(得分:4)

您可以尝试抑制库代码生成的错误:

http://valgrind.org/docs/manual/manual-core.html#manual-core.suppress

答案 1 :(得分:2)

库代码中报告的错误实际上可能是由于调用代码中的错误造成的。

例如,如果将错误的指针或短缓冲区传递给库代码,则可能会导致该代码中的访问错误;或者如果库代码提供了代码忽略调用的资源释放函数,则可能导致内存泄漏报告追溯到库代码。