前言
同事用top命令看到程序的内存在不断增长,不回落。
就想找个工具看看是否内存有泄漏,看到valgrind能干这活。
我帮他做个实验,看看从编译到使用的大概流程。
实验
官网下载地址:
http://www.valgrind.org/downloads/current.html
下载当前版本:
valgrind-3.13.0.tar.bz2
在csdn上备份了一份: valgrind-3.13.0.tar.7z
解压:
bzip2 -d valgrind-3.13.0.tar.bz2
tar -xvf valgrind-3.13.0.tar
编译:
cd valgrind-3.13.0
./configure
make clean
make all
make install
使用:
将程序编译成debug版。
检查内存泄漏:
valgrind –tool=memcheck –leak-check=full ./cm param1 param2 param3
备注:
程序可以在测试环境中,可以不带工程源码(只要程序已经编译成了debug版),就可以看到出问题的地方(可以指出源码和行数)