C/C++代码中检测内存泄漏的工具

4
在Unix环境下,是否有可以轻松分析代码并指出代码中某些部分存在内存泄漏可能性的工具?适用于HPUX/AIX/Solaris系统。
4个回答

8
如果您谈论的是静态分析,那么有cppcheck(以及其他许多工具)。
如果您谈论的是运行时检查器(比静态分析更准确可靠),那么有valgrind
还有很多其他的工具可供使用。请查看上面的链接以获取更多信息。 Purify可以在AIX上使用(但不是免费的)。

惠普公司有wdb调试器,它能够检测内存泄漏。


我认为Valgrind只能在LINUX上使用,无法在没有GUI的HPUX或AIX上使用。 - Vijay
@wvwvwv,2分,1,Hpux,Aix等都支持各种形式的GUI。2,valgrind是一个命令行工具(没有GUI)。 - Glen
@wvwvwv,你说的没错,valgrind不直接支持HPUX或AIX。不过你可以尝试自己移植,虽然我认为这并不容易。 - Glen
@wvwvwv 我已经添加了一些兼容AIX和HP的产品。 - Glen
gperftools来自Google,非常擅长发现我的内存泄漏问题,并且比valgrind的干扰要小一些。 - rymurr
显示剩余2条评论

1

0

虽然不是专门用于检测内存泄漏的工具,但另一个选择是来自HP实验室的Boehm-Demers-Weiser垃圾收集器

它可以作为new和malloc的替代品。

这里有使用它作为泄漏检测器的说明。如果我没记错的话,Mozilla曾将其用作Firefox的泄漏检测器。我记得Mono和DotGNU Portable.NET也将其用作gc。


0

我也经常使用这个工具,它可以立即帮我解决许多问题。 这是我为在Solaris Unix中识别内存泄漏创建的一个工具。 在这里。运行它的方法也在这里清楚地说明了。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接