已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
广东新支点技术服务有限公司 内部公开技 术 文 档技术文件名称:valgrind-3.3.1 的安装与使用研究技术文件编号:OS-20110823版 本: 拟 制 陈泽民 审 核 共 页(包括封面)修改记录文件编号版本号拟制人/修改人拟制日期/修改日期更改理由主要更改内容(写要点即可)注1:每次更改归档文件(上传到文件服务器)时,需填写此表。注2:文件第一次归档时,“更改理由”、“主要更改内容”栏写“无”。目录第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-OReilly开源代码奖。 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 rootlocalhost #tar jxvf valgrind-3.2.3.tar.bz2 下载压缩包为(右键图标复制到非桌面位置即可): 然后进入 rootlocalhost # cd valgrind-3.3.1 rootlocalhost valgrind-3.3.1# ./configure & make & make install 进行安装等待安装完毕后安装时可能需要几分钟因为安装时:Provides :libpthread.solibpthread.so.0valgrind.sovalgrinq.sovalgrindRequires :ld-linux.so.2 libc.so.6 libc.so.6 libc.so.6 libc.so.6 /bin/sh /usr/bin/perl libc.so.6Content 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.html/usr/doc/valgrind-1.0.4/manual.html/usr/doc/valgrind-1.0.4/nav.html/usr/doc/valgrind-1.0.4/techdocs.html/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= 最常用的选项。运行 valgrind中名为toolname的工具。默认memcheck。 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到描述符文件 2=stderr -log-file= 将输出的信息写入到filename.PID的文件里,PID是运行程序的进行ID -log-file-exactly= 输出LOG信息到 file -log-file-qualifier= 取得环境变量的值来做为输出信息的文件名。 none -log-socket=ipaddr:port 输出LOG到socket ,ipaddr:port LOG信息输出 -xml=yes 将信息以xml格式输出,只有memcheck可用 -num-callers= show callers in stack traces 12 -error-limit=no|yes 如果太多错误,则停止显示新错误? yes -error-exitcode= 如果发现错误则返回错误代码 0=disable -db-attach=no|yes 当出现错误,valgrind会自动启动调试器gdb。no -db-command= 启动调试器的命令行选项gdb -nw %f %p 适用于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 freed) 使用超过 malloc分配的内存空间(Reading/writing off the end of mallocd blocks) 对堆栈的非法访问 (Reading/writing inappropriate areas on the stack) 申请的空间是否有释放 (Memory leaks where pointers to mallocd 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; 操作如下:rootlocalhost # vim hello.crootlocalhost # gcc -g -o hello hello.c rootlocalhost # ./hello结果如下:然后用valgrind命令:rootlo
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 大叶蛋白菊SOD超氧化物歧化酶种植初加工项目可行性研究报告模板拿地备案立项
- app运营推广方案范文
- 棒棒糖游乐运营方案
- 智慧农业运营设计方案范文
- 家纺淘宝店运营方案
- 台球实战运营方案
- 公寓租房合同运营方案
- 海岛托管运营方案
- 2025年无人机巢矩阵在智慧城市中的数据共享与开放
- 危机公关媒体沟通策略方案
- 国家事业单位招聘2025中国人民大学财务处招聘3人笔试历年参考题库典型考点附带答案详解
- T∕CAMDA 36-2026 双孢蘑菇采摘机器人
- 商贸物流专业群建设方案
- 经销商管理系统
- 吾悦广场内部管理制度
- 融通地产集团社会招聘考试题
- 2026年叉车机械理论考试题库及一套答案
- 弹性力学-第六章-平面问题的基本理论
- 2026年中国化工经济技术发展中心招聘备考题库附答案详解
- 2025至2030中国无源和互连电子元件行业市场深度研究与战略咨询分析报告
- T-GDSX 001-2024 装配式园林景观设计指引
评论
0/150
提交评论