Valgrind内存泄漏检测工具是一个十分便捷的工具,可以很快速的检测出所写程序是否存在内存泄漏现象,这对于C/C++程序员显得尤为重要,因为不论你有多牛逼,也难以保证自己不会忘写一个delete或者free。
一:安装步骤
首先下载一个Valgrind安装包。
1.解压安装包 zip格式用 uzip Valgrind.xx.zip,解压完成之后进入该文件夹。
2.运行./autogen.sh设置环境
在执行此步骤时注意,如果autogen.sh没有可执行权限,需要先给执行权限。
chmod +x autogen.sh 下面同理。
在执行此处时,可能会出现,running with aclocal error,这是因为缺少automake,需要:
yum install automake
然后继续./autogen.sh即可
3.执行./configure;配置Valgrind,生成MakeFile文件,同理无权限加上权限即可。
4.输入make,执行makefile,编译Valgrind。
5.make install 安装Valgrind,执行到此处就可以使用了。
二:工具使用
工具使用以我的文件为例:
执行g++ -o main.o -g main.cpp 生成可执行文件
然后使用工具:valgrind --tool=memcheck ./main.o
就可以看到工具执行了。
我的的执行结果如下:
从图中红圈区域文字可以看出,10处申请空间,10处释放空间,一共申请了240字节。说明我的程序没有内存泄漏。
所以,要想对自己的程序负责,这个小工具可以很容易帮到你。