文档章节

Valgrind下载、安装和使用

o
 osc_wws45aot
发布于 2019/08/21 16:46
字数 287
阅读 24
收藏 0

精选30+云产品,助力企业轻松上云!>>>

下载 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 。

o
粉丝 0
博文 500
码字总数 0
作品 0
私信 提问
加载中
请先登录后再评论。
64位LINUX下如何安装32位valgrind,并对32位应用程序进行内存检查

1. 到www.valgrind.org下载最新版valgrind-3.12.0.tar.bz2 2. 解压安装包:tar –jxvf valgrind-3.12.0.tar.bz2 3. 解压后生成目录valgrind-3.12.0 4. cd valgrind-3.12.0 5. 运行./autogen......

Wang_Peter
2018/01/18
1K
3
Valgrind

Valgrind 3.11.0编译安装 Valgrind是一款用于内存调试、内存泄漏检测以及性能分析的软件开发工具。 Valgrind遵守GNU通用公共许可证条款,是一款自由软件。 到3.3.0版本为止,Valgrind支持x86...

osc_2g2zbaxg
2019/08/07
1
0
Valgrind,内存调试工具

Valgrind是一款用于内存调试、内存泄漏检测以及性能分析的软件开发工具 官网:http://valgrind.org/用户开发手册地址:http://valgrind.org/docs/manual/manual.html 下载安装步骤: ① git cl...

osc_dijqv6v2
2018/07/12
19
0
内存调试/分析工具 - Valgrind的安装使用

Valgrind是一款用于内存调试、内存泄漏检测以及性能分析的软件开发工具,最早在2002年发布。 Valgrind的最初作者是Julian Seward,他于2006年由于在开发Valgrind上的工作获得了第二届Google-...

Goopand
2018/10/11
0
0
Ubuntu下使用valgrind所遇问题

一、Valgrind的安装 a、直接使用sudo apt-get install valgrind b、valgrind官网下载http://valgrind.org/ #解压sudo tar xvf valgrind-3.8.1.tar.bz2 -C /home/worspace/ 安装 ./configurem......

地狱的烈火
2013/06/21
2.3K
0

没有更多内容

加载失败,请刷新页面

加载更多

JIT的Profile神器JITWatch

点击上方的蓝字关注我吧 程序那些事 简介 老是使用命令行工具在现代化社会好像已经跟不上节奏了,尤其是在做JIT分析时,使用LogCompilation输出的日志实在是太大了,让人望而生畏。有没有什么...

flydean
07/04
0
0
运维基础--虚拟机的使用(一)

虚拟机的使用 开始使用Linux操作系统时,首先可能会接触到两个主要的界面:GUI和CLI,即图形界面个命令界面,而运维一般极少使用到图形界面。 一、命令提示符的格式:[root@mylab11~] # roo...

osc_9os5791s
25分钟前
25
0
以程序员的方式,尽绵薄之力

作为程序员,我们不能冲在第一线,参与病毒防疫工作,我们希望通过我们的方式,让更多的人获取到关于疫情的有用的消息,正确的消息 虽然github可能是个相对小众的平台,对于非程序员来说,可...

Jipson
01/26
17
0
Oracle 等待事件之 db file scattered read

db file scattered read 官网解释: This event signifies that the user process is reading buffers into the SGA buffer cache and is waiting for a physical I/O call to return. A db......

osc_qlj7m2h9
26分钟前
19
0
互联网+时代的畅想

封面的台风卫星照片,我认为很形象地可以看作互联网的那一波浪潮。在智能手机普及的初始阶段,还记得我们对于互联网的狂热,有人说要用互联网颠覆一切,亦有人要用互联网干一切事情,当然,这...

zd200572
2015/09/02
24
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部