Valgrind下载、安装和使用

下载 valgrind-3.15.0.tar.bz2

安装

sudo apt-get install automake
tar jxf valgrind-3.15.0.tar.bz2
cd valgrind-3.15.0
./autogen.sh
./configure
make
sudo make install

使用

1、检查是否有内存泄露

gcc 3_12.c
valgrind ./a.out

下图显示 [ 没有error,warning,但是却发生了内存泄露 ] ,因此,需要进行手动释放 malloc 开辟的空间。

2、开始调试

1)首先,打开一个终端,添加调试信息

gcc -g 3_12.c
valgrind --vgdb=yes --vgdb-error=0 ./a.out

2)然后,新建一个终端(Terminal),开始调试。

【前一个终端不要关闭,从现在开始始终在这个终端里 [ 输入命令 ] ,从前一个终端中 [ 观察输出 ] 。】

gdb ./a.out
(gdb) target remote | vgdb

调试步骤:

  1. 使用b命令在可能发生内存泄露行的附近设置一个断点
  2. 输入continue令程序执行到断点处(注意:不是gdb中的r命令)
  3. 输入sn进行单步调试,观察输出结果

⌈ 或者 ⌋ 不进行单步调试,直接输出堆栈信息:

valgrind ./a.out --leak-check=full

最后,

经过调试,显示正常了 13 allocs 13 frees 。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值