需要一个工具来检测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
令我惊讶的是,很少有程序员似乎意识到这些工具!