Valgrind下载、安装和使用

下载 valgrind-3.15.0.tar.bz2

  • CSDN资源
  • 百度网盘 提取码: e7hf

安装

$ 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 开辟的空间。

Valgrind下载、安装和使用_第1张图片

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 。

Valgrind下载、安装和使用_第2张图片

你可能感兴趣的:(Valgrind下载、安装和使用)