一、安装
http://valgrind.org/downloads
二、安装
tar -jxvf valgrind-3.20.0.tar.bz2
cd valgrind-3.12.0
./configure
make
sudo make install
三、使用
最常使用命令为:
cd 要检测的可执行文件路径
valgrind --tool=memcheck --leak-check=full --show-leak-kinds=all --undef-value-errors=no --error-limit=no --num-callers=50 --log-file=log ./可执行文件
--tool=memcheck :使用memcheck内存检测工具
--leak-check=full :有设置这个选项时,当被测程序结束时查找内存泄露。设置为summary,Valgrind会统计有多少内存泄露发生,若设置为full、yes,Valgrind会给出每一个独立的泄露的详细信息
--show-leak-kinds=all,等同--show-reachable=yes,指定了要显示的泄漏类型
--undef-value-errors=no,是否使用未定义的值错误。如果不想看到未定义的值错误,设置为no。
--error-limit=no:如果错误太多要停止显示新的错误的选项
--num-callers=50:这个值默认是12,最高是50。表示显示多少层的堆栈,设置越高会使Valgrind运行越慢而且使用更多的内存,但是在嵌套调用层次比较高的程序中非常实用
--log-file=log: 检测结果报告的文件名,也可以为存放路径,如:home/test/log
参考资料
Valgrind 学习篇 -- memcheck_小豹Miss鲍的博客-CSDN博客