valgrind 内存检测工具(vmatrix同款)

 yalgrind

这个是vmatrix使用的一个内存检测工具
平时在vmatrix上遇到内存问题很难改正的话可以使用这个工具来检查一下

1.安装yalgrind

调不尽的内存泄漏,用不完的Valgrind
1. 到www.valgrind.org下载最新版valgrind-3.2.3.tar.bz2
2. 解压安装包:tar –jxvf valgrind-3.2.3.tar.bz2
3. 解压后生成目录valgrind-3.2.3
4. cd valgrind-3.2.3 进入目录
5. 运行./autogen.sh设置环境(需要标准的autoconf工具)(可选)

  1. ./configure;配置Valgrind,生成MakeFile文件,具体参数信息详见INSTALL文件。一般只需要设置–prefix=/where/you/want/it/installed
    命令如下:
    ./configure --prefix=/usr/local/valgrind
  2. make;编译Valgrind
  3. make install;安装Valgrind

2.加入到环境变量中

编译完成之后可以测试一下。
因为上面编译安装的时候指定了安装目录,所以还需要把valgrind的bin目录路径添加到环境变量PATH中。否则只能使用全路径来运行valgrind
这里我把它写入到~/.bashrc文件中。

打开 ~/.bashrc文件,然后在最后添加一行
PATH=${PATH}:/usr/local/valgrind/bin
之后使用source ~/.bashrc来更新一下。

3.valgrind包含工具

Valgrind支持很多工具:
1. memcheck
2. addrcheck
3. cachegrind
4. Massif
5. helgrind
6. Callgrind……

在运行Valgrind时,你必须指明想用的工具,如果省略工具名,默认运行memcheck。

4.命令格式

Valgrind的参数
用法: valgrind [options] prog-and-args [options]: 常用选项,适用于所有Valgrind工具

--tool=<"name">

最常用的选项。运行 valgrind中名为toolname的工具。默认memcheck。

--verbose-v

更详细的信息。

--leak-check=<no|summary|full>

要求对leak给出详细信息? Leak是指,存在一块没有被引用的内存空间,或没有被释放的内存空间,如summary,只反馈一些总结信息,告诉你有多少个malloc,多少个free 等;如果是full将输出所有的leaks,也就是定位到某一个malloc/free。 [default: summary]

--show-reachable=<yes|no>

如果为no,只输出没有引用的内存leaks,或指向malloc返回的内存块中部某处的leaks [default: no]

--db-attach=<yes|no>
当出现错误,valgrind会自动启动调试器gdb。[default: no]
--db-command=<command>
启动调试器的命令行选项[gdb -nw %f %p]

一般如下的检测内存命令就足够了

valgrind --tool=memcheck --leak-check=full --show-reachable=yes ./a.out

下面这个博客有着更详细的使用方法
http://blog.csdn.net/yangzhiloveyou/article/details/7935078

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值