是否有一个很好的应用程序(有一些gui)来测试c代码中的内存泄漏。我真的想测试我的作业/程序,但是对这个很新,我很难使用终端来做事情,特别是使用gdb进行调试(对我而言,感觉就像过去的爆炸,我可以使用一些可视化调试器。)
感谢您的帮助
编辑:平台没关系 - 我正在运行一切;)
答案 0 :(得分:17)
取决于平台(您没有提及),Valgrind在Linux系统上非常棒。它没有GUI,但不需要GUI。
只需运行valgrind <path to your application + arguments>
,它就会运行你的应用程序并在内存操作期间吐出任何错误。
在--leak-check=full
之后添加--show-reachable=yes
和valgrind
选项,以获取内存泄漏源自的堆栈跟踪。
答案 1 :(得分:2)
Purify是一个很棒的应用程序。
答案 2 :(得分:1)
分析valgrind结果有一个gui:http://alleyoop.sourceforge.net/。此外,还有(非自由)purify,这很棒,我相信有一个试验。它有一个GUI。
答案 3 :(得分:1)
在Windows上,HeapMon可能会引起一些兴趣,但它没有明确告诉您泄密的位置。
答案 4 :(得分:0)
valgrind在Linux上相当不错,但它只有一个命令行界面
答案 5 :(得分:0)
如果您使用的是Microsoft的DevStudio,那么C运行时库已经内置了大量的内存分配跟踪工具:
令我惊讶的是,很少有程序员似乎意识到这些工具!