码迷,mamicode.com
首页 > 系统相关 > 详细

Linux C编程内存泄漏工具:memwatch的使用

时间:2015-03-08 15:39:35      阅读:279      评论:0      收藏:0      [点我收藏+]

标签:

1.首先你需要下载它,在http://www.linkdata.se/sourcecode/memwatch/

2.该内存工具是开源的(我也很喜欢开源^_^...),无需安装,只要在你的代码中包含它的头文件.像这样 #include "memwatch"

3.目前用到的最新版本是memwatch-2.71.tar.gz

4.解压 tar -xvf memwatch-2.71.tar.gz

5.在解压文件中将memwatch.c和memwatch.h拷贝到你的程序目录中

6.测试文件中包含testmem.c , memwatch.c, memwatch.h

7.测试代码:

技术分享
 1 #include <stdio.h>
 2 #include <stdlib.h>
 3 #include <errno.h>
 4 #include "memwatch.h"
 5 int main()
 6 {
 7         char *hello;
 8         setenv("MALLOC_TRACE","output",1);
 9         mtrace();
10         if((hello = (char *)malloc(sizeof(char))) == NULL)
11         {
12                 perror("Cannot allocate memory");
13                 return -1;
14         }
15         return 0;
16 }
View Code

8.测试命令:

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

9.运行 ./testmem

10.生成memwatch.log,并查看cat memwatch.log

技术分享

至于什么样的原理,大家可以读读里面的源代码和README文件

 

Linux C编程内存泄漏工具:memwatch的使用

标签:

原文地址:http://www.cnblogs.com/sxmcACM/p/4321725.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!