需要一个工具来检测C代码中的内存泄漏

是否有一个很好的应用程序(有某种gui)来测试c代码中的内存泄漏。 我真的想测试我的作业/程序,但对此非常新,我很难使用终端来做事情,特别是使用gdb进行调试(对我而言,感觉就像过去的爆炸,我可以使用一些可视调试器)。

谢谢您的帮助

编辑:平台没关系 – 我正在运行一切;)

根据平台(你没有提到它), Valgrind在Linux系统上非常出色。 它没有GUI,但不需要GUI。

只需运行valgrind ,它将运行您的应用程序并在内存操作期间吐出任何错误。

valgrind之后添加--leak-check=full--show-reachable=yes选项,以获取内存泄漏源自的堆栈跟踪。

Purify是一个很好的应用程序。

有一个分析valgrind结果的gui: http : //alleyoop.sourceforge.net/ 。 此外,有(非自由) 净化是伟大的,我相信有一个试验。 它有一个GUI。


在Windows上, HeapMon可能有一些兴趣,虽然它没有明确告诉你泄漏的位置。

valgrind在Linux上相当不错,但它只有一个命令行界面

如果你正在使用微软的DevStudio,那么C运行时库就已经内置了大量的内存分配跟踪工具:

调试堆

_CrtSetDbgFlag

令我惊讶的是,很少有程序员似乎意识到这些工具!