如果只malloc开辟了空间,而忘记free释放空间的话就会内存泄漏。如果用这个工具的话,那么就简单多了。

valgrind的官网下载http://valgrind.org/downloads/

centos6.5。我在这个上面安装成功了。

 

1.直接先wget压缩包


wget http://valgrind.org/downloads/valgrind-3.10.1.tar.bz2

2.解压


tar -jxvf valgrind-3.10.1.tar.bz2

3.执行脚本呢


./autogen.sh

4.linux的3把斧头,我在前面的文章转载过类似文章,这里也就不说了



 

./configure  

make

make install



安装完成之后,我就是先演示这个常用的功能, 记得先有一个可执行文件,也就是对于.c文件编译链接之后。也就是酱紫的


好用的valgrind_内存泄漏


 我的代码先是这个样子的


#include <stdio.h>
#include <stdlib.h>

int main(int argc,char *argv[])
{
int *p = NULL;

p = (int *)malloc(sizeof(int)*10);

free(p);
return 0;
}


然后呢输入


valgrind --tool=memcheck ./malloc


对于上面的我有malloc,还有free,输出

好用的valgrind_内存泄漏_02

没有造成内存泄漏,如果我去掉代码中的free,仅仅有malloc再次执行

valgrind --tool=memcheck ./malloc

好用的valgrind_#include_03



 内存泄漏了,检测出来了,哈哈哈,以后就用这个了