您的位置:首页 > 其它

C程序内存泄露检测工具

2016-05-09 10:09 246 查看
今天给大家带来一款检测C程序内存泄露的一款实用工具——memwatch



memwatch简介

      MEMWATCH 由 Johan Lindh 编写,是一个开放源代码 C 语言内存错误检测工具。只要在代码中添加一个头文件并在 gcc 语句中定义了 MEMWATCH 之后,您就可以跟踪程序中的内存泄漏和错误了。MEMWATCH 支持 ANSI C,它提供结果日志记录,能检测双重释放(double-free)、错误释放(erroneous
free)、没有释放的内存(unfreed memory)、溢出和下溢等等。


memwatch的使用方法

用户只需要在自己的工程项目目录中加入memwatch.h和memwatch.c,编译时加上-DMEMWATCH -DMW_STDIO及memwatch.c就能使用memwatch,例如:

gcc  test.c memwatch.c -o test -DMEMWATCH -DMW_STDIO

然后memwatch就会在默认当前目录下生成libmem.log文件



      这个程序执行了两次,第一次我释放了内存,所以不会存在内存泄露,第二次我注释了释放资源的函数,这时候,在程序执行完毕之后,该日志文件后面就会显示你的程序在第几行,多少字节,地址等信息,然后你就可以根据这些信息修改程序

memwatch主要涉及领域

在Linux C编程中,往往会因为程序员误操作导致部分资源没有释放,这时候使用memwatch则是一个更加好的办法。

另外,以下地址还会提供在vs下面使用memwatch这款工具的办法,有兴趣可以去下载看看


memwatch内存泄露检测工具(内附在VS使用memwatch使用教程)

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: