内存调试利器 valgrind

本文介绍了如何使用valgrind这一内存调试工具来检测C/C++程序中的内存错误,如未初始化内存、内存泄漏、堆栈使用问题等。通过示例展示了valgrind的Memcheck、Cachegrind等工具的使用方法及其在检测内存问题时的效果。
摘要由CSDN通过智能技术生成

新入职的员工往往会遇到的第一个项目是解决一个已有项目的bug,C/C++的BUG常常是由C和C++的细节程序员掌握不到位,或者处理不到位造成的,最常见的错误就是内存相关的错误,对于新手而言,去单纯的review代码无异于大海捞针,一脸茫然。

现在给大家介绍一种调试内存BUG的方式——valgrind。


valgrind官网:

http://www.valgrind.org/


安装:

1.原码安装

wget http://www.valgrind.org/downloads/valgrind-3.10.1.tar.bz2

tar jxvf  valgrind-3.10.1.tar.bz2

cd  valgrind-3.10.1

./configure

make

make install


2.ubuntu下直接apt-get安装

sudo apt-get install valgrind


官网介绍简单翻译过来

Valgrind包括如下一些工具:

(1) Memcheck ,这是valgrind应用最广泛的工具,一个重量级的内存检查器,能够发现开发中绝大多数内存错误使用情况,比如:使用未初始化的内存,使用已经释放了的内存,内存访问越界等。这也是本文将重点介绍的部分。

(2) Callgrind ,它主要用来检查程序中函数调用过程中出现的问题。

(3) Cachegrind ,它主要用来检查程序中缓存使用出现的问题。

(4) Helgrind ,它主要用来检查多线程程序中出现的竞争问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值