对于这个valgrind,目前我仅仅使用了它的检查内存是否泄漏的问题,我们经常在写代码的时候,如果只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文件编译链接之后。也就是酱紫的
我的代码先是这个样子的
#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,输出
没有造成内存泄漏,如果我去掉代码中的free,仅仅有malloc再次执行
valgrind --tool=memcheck ./malloc
内存泄漏了,检测出来了,哈哈哈,以后就用这个了