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

sbs*_*bsp 4 c debugging memory-leaks memory-management

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

谢谢您的帮助

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

And*_*lam 17

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

只需运行valgrind <path to your application + arguments>它就会运行你的应用程序并在内存操作期间吐出任何错误.

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

  • @ptomato - 我一直在使用Valgrind大约3年,我知道(和需要)的两个选项就是我在答案中给出的两个选项.如果OP至少设法使用GDB(通过它的声音,他们有),那么Valgrind将是一块蛋糕.我实际上使用Valgrind调试一些:) (4认同)
  • "它没有GUI,但不需要一个" - 我不同意,特别是因为OP特别承认对命令行感到不舒服.那就是说,valgrind是我所知道的最好的工具. (2认同)
  • @sbsp:一旦你看到val-grind产生的那种细节,你就不会介意了.:) (这很棒*.) (2认同)
  • 如果您使用的是Eclipse,则可以使用Linux Tools模块(http://www.eclipse.org/linuxtools/)将valgrind集成到IDE中. (2认同)