valgrind是linux下的一个强大工具, 其子工具(通过toolname参数来控制)主要有:
1、memcheck:检查众多内存问题,如泄漏、越界、非法指针, 我们将一一介绍。 (如果省略toolname, 则默认是memcheck, 比如执行:./valgrind ./a.out)
2、callgrind: 分析程序性能。
3、cachegrind:分析cache.
4、helgrind: 分析多线程竞争。
5、massif: 分析堆。
.......
valgrind重要的功能之一是内存诊断, 也就是memcheck, 我们将首先重点介绍memcheck功能, 这对于C/C++程序员非常重要。 至于具体怎么用, 我们后续会慢慢说。 本文先来看看valgrind的安装。一般来说, 在linux下安装工具, 都要获取root权限, 所以, 请先把root姿势准备好!
1. 下载valgrind (方法a和方法b都可以)
a. 可以直接在linux上下载:wget http://www.valgrind.org/downloads/valgrind-3.8.1.tar.bz2
b. 直接在Windows上下载下来, 然后rz -bye传到linux上去
2. 在linux上解压缩, 命令: tar jxvf valgrind-3.8.1.tar.bz2 , 于是在同目录下就有了valgrind-3.8.1, 我机器上得情况是:
[root@xxx ~]# pwd
/root
[root@xxx ~]# ll
...
drwxrwxr-x 26 1000 1000 4096 Mar 12 16:31 valgrind-3.8.1
-rw-r--r-- 1 root root 7962963 Mar 12 15:53 valgrind-3.8.1.tar.bz2
[root@xxx ~]#
3. 然后先后执行如下命令进行安装(其实, 可以找到README文件, 其中有类似指导。 如果遇到错误, 根据错误提示来解决就行):
cd valgrind-3.8.1
./configure --prefix=/root/valgrind-3.8.1
make
make install
4. 安装完毕, 可执行的二进制工具就在/root/valgrind-3.8.1/bin 目录下, 你可以用命令检查一下是否安装成功, 如下:
[root@xxx ~/valgrind-3.8.1/bin]# ./valgrind --version
valgrind-3.8.1
[root@xxx ~/valgrind-3.8.1/bin]#
好了, 一些搞定, 我们后续会陆续介绍valgrind工具的具体使用方法, 一起期待