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


当前回答

Windows的调试工具中有Pageheap.exe部分。它是免费的,基本上是一个自定义的内存分配器/释放器。

参见http://support.microsoft.com/kb/286470

其他回答

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

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

我一直很喜欢Memory Validator,它来自一家名为Software Verification的公司。

也许CodeSnitch是你想要的?http://www.entrek.com/codesnitch.html

您正在使用的Windows开发环境可能包含自己的工具。例如,Visual Studio允许您检测和隔离程序中的内存泄漏

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