valgrind的安装与使用(内含安装包)
更新时间:2023-05-03 18:59:02 阅读量: 实用文档 文档下载
- valgrind 安装推荐度:
- 相关推荐
技术文档
技术文件名称:valgrind-3.3.1 的安装与使用研究技术文件编号:OS-20110823
版本:
拟制陈泽民
审核
共页
(包括封面)
修改记录
目录
第1章valgrind的安装 .................................................................................................................... - 4 -
1.1 valgrind的介绍 ................................................................................................................... - 4 -
1.2valgrind的安装 .................................................................................................................... - 4 - 第二章valgrind的使用 .................................................................................................................... - 6 -
2.1valgrind的使用与示例 ........................................................................................................ - 6 -
第1章valgrind的安装
1.1 valgrind的介绍
Valgrind是一款用于内存调试、内存泄漏检测以及性能分析的软件开发工具。Valgrind这个名字取自北欧神话中英灵殿的入口。
Valgrind的最初作者是Julian Seward,他于2006年由于在开发Valgrind 上的工作获得了第二届Google-O'Reilly开源代码奖。
Valgrind遵守GNU通用公共许可证条款,是一款自由软件。
到 3.6.1版本为止,Valgrind支持{x86,amd64,arm,ppc32,ppc64}-linux and {x86,amd64}-darwin (Mac OS X).
而在CGSL系统中valgrind-3.3.1能很好地运行。
1.2valgrind的安装
本文所应用的平台为NewStart CGSL系统,
(1)在CGSL中解压valgrind-3.3.1.tar.bz2
[root@localhost ~]#tar –jxvf valgrind-3.2.3.tar.bz2
下载压缩包为(右键图标复制到非桌面位置即可):
然后进入
[root@localhost ~]# cd valgrind-3.3.1
[root@localhost valgrind-3.3.1]# ./configure && make && make install
进行安装等待安装完毕后
安装时可能需要几分钟
因为安装时:
Provides :
libpthread.so
libpthread.so.0
valgrind.so
valgrinq.so
valgrind
Requires :
ld-linux.so.2
libc.so.6
libc.so.6
libc.so.6
libc.so.6
/bin/sh
/usr/bin/perl
libc.so.6
Content of RPM :
/usr/bin/cachegrind
/usr/bin/valgrind
/usr/bin/vg_annotate
/usr/doc/valgrind-1.0.4
/usr/doc/valgrind-1.0.4/ACKNOWLEDGEMENTS
/usr/doc/valgrind-1.0.4/AUTHORS
/usr/doc/valgrind-1.0.4/COPYING
/usr/doc/valgrind-1.0.4/ChangeLog
/usr/doc/valgrind-1.0.4/NEWS
/usr/doc/valgrind-1.0.4/PATCHES_APPLIED
/usr/doc/valgrind-1.0.4/README
/usr/doc/valgrind-1.0.4/README_KDE3_FOLKS
/usr/doc/valgrind-1.0.4/README_MISSING_SYSCALL_OR_IOCTL /usr/doc/valgrind-1.0.4/README_PACKAGERS
/usr/doc/valgrind-1.0.4/TODO
/usr/doc/valgrind-1.0.4/index
/usr/doc/valgrind-1.0.4/manual
/usr/doc/valgrind-1.0.4/nav
/usr/doc/valgrind-1.0.4/techdocs
/usr/include/valgrind.h
/usr/lib/valgrind
/usr/lib/valgrind/default.supp
/usr/lib/valgrind/glibc-2.1.supp
/usr/lib/valgrind/glibc-2.2.supp
/usr/lib/valgrind/libpthread.so
/usr/lib/valgrind/libpthread.so.0
/usr/lib/valgrind/valgrind.so
/usr/lib/valgrind/valgrinq.so
/usr/lib/valgrind/xfree-3.supp
/usr/lib/valgrind/xfree-4.supp
第二章valgrind的使用
2.1valgrind的使用与示例
1、用法
valgrind [options] prog-and-args [options]: 常用选项,适用于所有Valgrind工具
-tool=
h –help 显示帮助信息。
-version 显示valgrind内核的版本,每个工具都有各自的版本。
q –quiet 安静地运行,只打印错误信息。
v –verbose 更详细的信息, 增加错误数统计。
-trace-children=no|yes 跟踪子线程? [no]
-track-fds=no|yes 跟踪打开的文件描述?[no]
-time-stamp=no|yes 增加时间戳到LOG信息? [no]
-log-fd=
-log-file=
-log-file-qualifier=
-log-socket=ipaddr:port 输出LOG到socket ,ipaddr:port
LOG信息输出
-xml=yes 将信息以xml格式输出,只有memcheck可用
-num-callers=
-error-limit=no|yes 如果太多错误,则停止显示新错误? [yes]
-error-exitcode=
-db-attach=no|yes 当出现错误,valgrind会自动启动调试器gdb。[no]
-db-command=
适用于Memcheck工具的相关选项:
-leak-check=no|summary|full 要求对leak给出详细信息? [summary]
-leak-resolution=low|med|high how much bt merging in leak check [low]
-show-reachable=no|yes show reachable blocks in leak check? [no]
2、Memcheck 工具主要检查下面的程序错误
使用未初始化的内存(Use of uninitialised memory)
使用已经释放了的内存(Reading/writing memory after it has been free’d)
使用超过malloc分配的内存空间(Reading/writing off the end of malloc’d blocks)
对堆栈的非法访问(Reading/writing inappropriate areas on the stack)
申请的空间是否有释放(Memory leaks –where pointers to malloc’d blocks are lost forever)
malloc/free/new/delete申请和释放内存的匹配(Mismatched use of malloc/new/new [] vs free/delete/delete [])
src和dst的重叠(Overlapping src and dst pointers in memcpy() and related functions)
3、示例(测试一个C)
#include
#include
int main()
{
struct mm{
int a;
int b;
}kk,*p;
kk.a = 10;
printf("kk.a : %d \n",kk.a);
p = (struct mm *)malloc(sizeof(struct mm));
p->a = 9;
printf("p->a : %d \n",p->a);
return 0;
}
操作如下:
[root@localhost ~]# vim hello.c
[root@localhost ~]# gcc -g -o hello hello.c
[root@localhost ~]# ./hello
结果如下:
然后用valgrind命令:
[root@localhost ~]# valgrind --tool=memcheck --leak-check=yes --show-reachable=yes ./hello
lost: 8 bytes in 1 blocks.”。即丢失了8个字节。
正在阅读:
计算机系统信号干扰的原因及消除方法10-18
Corel DRAW快捷键和实用技巧05-18
校园论坛三稿打印 - 图文06-03
南京市国民经济和社会发展第十一个五年规划纲要 - 图文05-16
5A级写字楼物业管理案例分析--安保篇10-29
中美会计职业发展之简要比较03-06
2012年中考历史真题分单元汇编九上部分 - 图文04-29
党的基础知识考试题及答案10-19
市建筑业企业信用手册管理办法资料10-15
- 教学能力大赛决赛获奖-教学实施报告-(完整图文版)
- 互联网+数据中心行业分析报告
- 2017上海杨浦区高三一模数学试题及答案
- 招商部差旅接待管理制度(4-25)
- 学生游玩安全注意事项
- 学生信息管理系统(文档模板供参考)
- 叉车门架有限元分析及系统设计
- 2014帮助残疾人志愿者服务情况记录
- 叶绿体中色素的提取和分离实验
- 中国食物成分表2020年最新权威完整改进版
- 推动国土资源领域生态文明建设
- 给水管道冲洗和消毒记录
- 计算机软件专业自我评价
- 高中数学必修1-5知识点归纳
- 2018-2022年中国第五代移动通信技术(5G)产业深度分析及发展前景研究报告发展趋势(目录)
- 生产车间巡查制度
- 2018版中国光热发电行业深度研究报告目录
- (通用)2019年中考数学总复习 第一章 第四节 数的开方与二次根式课件
- 2017_2018学年高中语文第二单元第4课说数课件粤教版
- 上市新药Lumateperone(卢美哌隆)合成检索总结报告
- 安装
- 内含
- valgrind
- 使用
- 基于JCreator的Java图形图象增强分割处理技术的实现与应用
- 陕西省2020年中考数学试题
- 准确填报利润表“所得税费用”
- 2018年华南师范大学地理科学学院816人文地理学考研冲刺狂背五套题
- 中国石油大学(华东)C语言在线测评答案-第12章结构体和共用体(2013级亲测正确)
- 义乌企业汇总(多名单整理版)
- 20吨生活污水处理方案及报价
- 2018年河南师范大学体育学院636体育专业综合之运动生理学考研冲刺狂背五套题
- 大学生网络漫画市场开发调查报告
- 2017年湖北大学资源环境学院819自然地理学考研强化模拟题
- 市级优秀教师典型事迹材料
- 八年级下册英语阅读理解
- DAG1000&2000系列FXS语音网关用户手册
- 2018年兰州大学新闻与传播学院861新闻传播实务之传播学教程考研基础五套测试题
- (强烈推荐)年产1万套FRP玻璃钢整体化粪池生产建设项目可研报告可研报告
- 2019年天津商业大学436资产评估专业基础之西方经济学(微观部分)考研冲刺狂背五套题
- 餐厅采购、验收制度
- 弹性力学简明教程(第四版)_课后习题解答
- 济南市旅游综合体市场调查研究报告
- 2013-2014学年陕西省南郑中学高一下学期期中考试数学试卷(带解析)