Valgrind的Memcheck快速入门

Valgrind是一款强大的Linux下C/C++程序内存检测工具,无需重新编译即可直接分析debug版本程序。它能帮助检测内存泄露、使用未初始化的变量等问题。本文介绍了Valgrind的下载、安装及快速使用方法,例如通过`valgrind --leak-check=full --track-origins=yes -v ls /`命令进行内存检测,揭示程序运行时的内存状态。
摘要由CSDN通过智能技术生成
一、前言
       对于C/C++程序员来说,关于内存问题真是让人头痛不已,尤其是内存泄露、使用未初始化的局部变量进行跳转或移动等隐形问题。要求程序员养成良好的编码习惯确实很重要,但是人总会出现稀里糊涂的时候,遇到内存泄露等问题还是在所难免,好在有了众多的内存检测工具,真是帮了程序员的大忙啊。下面将介绍一款强大的Linux开源工具Valgrind,非常棒,内存检测工具中的瑞士军刀。

二、简介
        Valgrind 是一款 Linux下C/C++ 程序的内存检测工具,一个显著的特点是无需重新编译,可以直接对debug版本的程序进行分析测试。
       目前,最新的版本valgrind-3.8.1 支持X86/Linux, AMD64/Linux, ARM/Linux, PPC32/Linux, PPC64/Linux, S390X/Linux, MIPS/Linux, ARM/Android (2.3.x and later), X86/Android (4.0 and later), X86/Darwin and AMD64/Darwin (Mac OS X 10.6 and 10.7, with limited support for 10.8)
       相关资料:
1、http://valgrind.org/ (官网,资料全面,很详实,但全是英文,全力推荐)
2、 http://www.ibm.com/developerworks/cn/linux/l-cn-valgrind/ (IBM的中文资料,很详细,全力推荐)
3、 http://blog.csdn.net/yanghao23/article/details/7514587  (网友的总结体会,写得好)

三、快速入门
1、下载与安装
上官网下载最新版本: valgrind-3.8.1,按如下步骤在解压并进行默认安装:
tar xvf valgrind-3.8.1.tar.bz2
cd valgrind-3.8.1/
./configure
make
make install


2、快速使用(对Linux系统的程序“ls”进行 检测
valgrind ls /    (快速进行默认Memcheck检测)
valgrind --leak-check=full --track-origins=yes -v ls /      (进行Memcheck检测,并打印详细的结果,不过速度慢了很多,这个我用得更多)

root@root:/media/workspace/#  valgrind ls /
==20361== Memcheck, a memory error detector
==20361== Copyright (C) 2002-2009, and GNU GPL'd, by Julian Seward et al.
==20361== Using Valgrind-3.6.0.SVN-Debian and LibVEX; rerun with -h for copyright info
==20361== Command: ls /
==20361==
bin   cdrom  dev  gnome-terminal.desktop  initrd.img      lib    lib64       media  opt   root  selinux  swap  tftpboot      tmp  var      vmlinuz.old
boot  data   etc  home                    initrd.img.old  lib32  lost+found  mnt    proc  sbin  srv      sys   tftpboot.bak  usr  vmlinuz
==20361==
==20361== HEAP SUMMARY:
==20361==     in use at exit: 33,197 bytes in 38 blocks
==20361==   total heap usage: 567 allocs, 529 frees, 97,898 bytes allocated
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值