valgrind-3.8.1的安装与使用研究

本文介绍如何使用Valgrind工具检测Linux下程序的内存泄漏问题。通过具体示例演示了Valgrind的安装过程及如何针对C语言程序进行内存泄漏测试。Valgrind能够有效地帮助开发者发现内存管理错误。

目前只知道这个工具可以测试linux下的内存泄漏问题,很好用,下载地址是http://www.valgrind.org/downloads/valgrind-3.8.1.tar.bz2

安装:


[root@localhost ~]# cd valgrind-3.8.1
[root@localhost valgrind-3.8.1]# ./configure && make && makeinstall  


完成后 

进行测试看是否安装成功。

[ubuntu@root ~]#valgrind


看结果是否为:


[ubuntu@root ~]#valgrind
valgrind: no program specified
valgrind: Use --help for more information.


然后就可以对程序就行了测试了:


测试:


3、示例(测试一个C)

#include <stdio.h>                                                                  

#include <stdlib.h>

int main()

{

       struct mm{

                int a;

                int b;

       }kk,*p;

       kk.a = 10;

       printf("kk.a : %d \n",kk.a);

       p = (struct mm *)malloc(sizeof(struct mm));

       p->a = 9;

       printf("p->a : %d \n",p->a);

 

return 0;

}

操作如下:

[root@localhost ~]# vim hello.c

[root@localhost ~]# gcc -g -o hello hello.c

[root@localhost ~]# ./hello


结果如下:

然后用valgrind命令:

[root@localhost ~]# valgrind --tool=memcheck--leak-check=yes --show-reachable=yes ./hello

可以看出上面提示“malloc/free:1 allocs, 0 frees, 8 bytes allocated.”,“definitely

lost:8 bytes in 1 blocks.”。即丢失了8个字节。


例子引用了其他人的。。。。。

这个工具不错,对于开发arm上这种比较需要注意资源使用的程序,很有帮助

转载于:https://www.cnblogs.com/yueshen-blog/archive/2013/05/05/3182780.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值