Linux C编程内存泄漏工具:memwatch的使用
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 }
8.测试命令:
gcc -DMEMWATCH -DMW_STDIO testmem.c memwatch.c -o testmem
9.运行 ./testmem
10.生成memwatch.log,并查看cat memwatch.log
至于什么样的原理,大家可以读读里面的源代码和README文件
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。