C程序内存泄露检测工具
2016-05-09 10:09
246 查看
今天给大家带来一款检测C程序内存泄露的一款实用工具——memwatch
MEMWATCH 由 Johan Lindh 编写,是一个开放源代码 C 语言内存错误检测工具。只要在代码中添加一个头文件并在 gcc 语句中定义了 MEMWATCH 之后,您就可以跟踪程序中的内存泄漏和错误了。MEMWATCH 支持 ANSI C,它提供结果日志记录,能检测双重释放(double-free)、错误释放(erroneous
free)、没有释放的内存(unfreed memory)、溢出和下溢等等。
用户只需要在自己的工程项目目录中加入memwatch.h和memwatch.c,编译时加上-DMEMWATCH -DMW_STDIO及memwatch.c就能使用memwatch,例如:
gcc test.c memwatch.c -o test -DMEMWATCH -DMW_STDIO
然后memwatch就会在默认当前目录下生成libmem.log文件
这个程序执行了两次,第一次我释放了内存,所以不会存在内存泄露,第二次我注释了释放资源的函数,这时候,在程序执行完毕之后,该日志文件后面就会显示你的程序在第几行,多少字节,地址等信息,然后你就可以根据这些信息修改程序
另外,以下地址还会提供在vs下面使用memwatch这款工具的办法,有兴趣可以去下载看看
memwatch简介
MEMWATCH 由 Johan Lindh 编写,是一个开放源代码 C 语言内存错误检测工具。只要在代码中添加一个头文件并在 gcc 语句中定义了 MEMWATCH 之后,您就可以跟踪程序中的内存泄漏和错误了。MEMWATCH 支持 ANSI C,它提供结果日志记录,能检测双重释放(double-free)、错误释放(erroneousfree)、没有释放的内存(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使用教程)
相关文章推荐
- 低版本XCode如何支持高版本iOS系统进行真机调试
- 常用的uboot的bootargs设置
- sar命令
- ios设计模式
- css选择器
- 《剑指offer》-合并两个排序的链表
- Unity3d本地上传并且裁剪图片-----pc平台
- HDU5620 KK's Steel(C++语言版)
- MATLAB信号处理仿真-基带脉冲成形的数字滤波器
- 苹果加急信
- JVM中启用逃逸分析
- ios app的版本号
- 移动端媒体查询的一些尺寸参考
- 关于C语言中的宏
- hdu2546饭卡(01背包)
- MFC/基于对话框的MFC上位机串口通信(C++实现)简单例程
- Qt 编译时遇到 error: [debug/qrc_music.cpp] Error 1
- NAT网络下TCP连接建立时可能SYN包被服务器忽略-tcp_tw_recycle
- Vim 匹配字符串出现次数
- Lucene5.5对索引进行搜索