我正在寻找Valgrind来帮助提高我的C编码/调试,当我发现它只适用于Linux时——我没有其他需要或兴趣将我的操作系统转移到Linux,所以我想知道是否有同样好的Windows程序。


当前回答

Boost Test库可以检测内存泄漏。

其他回答

绝对净化!我用它来分析一些大型代码库(>3,000 kSLOC),发现它非常出色。

你可能想在维基百科上看看这个列表。

顺便说一下,我发现memwatch很有用。谢谢约翰!

一些好的商业工具:

净化 确保+ +

对于Visual c++,请尝试Visual Leak Detector。当我使用它时,它从一个新调用中检测到内存泄漏,并返回泄漏源代码中的实际行。最新版本可以在http://vld.codeplex.com/上找到。

只是一个想法,您还可以实现一个内存分配器,并跟踪所有对malloc和free的调用。然而,这对于某些项目来说可能太多了。

列表中的另一个内存工具:内存验证器。

不是免费的,但远没有Purify或Boundschecker那么贵。