ValGrind的使用分享.ppt

  1. 1、本文档共26页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ValGrind的使用分享

* * * * * * 高速缓存组织成 组 行 结构。 L1 包含M个组,一个组包含N个行(n-way),行的大小为 2的m次幂个Byte --threshold 展现阀值,此值限制展现出的函数列表中的第一排序字段的累积值/total =此阀值,如果要显示所有函数请设置阀值100,默认99 --sort 设定排序字段 * * * * * * 第一列的数字表示总指令数 * 表示当前函数 表示调用者 表示被调用的函数 * * * * * * * * * * ValGrind的使用分享 淘宝有哪些信誉好的足球投注网站中心 yewang * 目录 Valgrind 介绍 Valgrind 安装 Valgrind 使用方法 Memcheck 工具 Cachegrind 工具 Callgrind 工具 Helgrind Massif 工具简介 Valgrind介绍 Valgrind是一个Linux下灵活的调试和剖析工具。收集各种有用的运行时信息,可以帮助找到程序中潜在的bug和性能瓶颈 Valgrind提供多个工具,其中最重要的是: Memcheck Cachegrind Callgrind Helgrind Massif 安装 官方网站:/ 下载链接:/downloads/valgrind-3.6.0.tar.bz2 安装步骤: bzip2 -d valgrind-3.6.0.tar.bz2? tar -xvf valgrind-3.6.0.tar? cd valgrind-3.6.0 修改配置请参考备注 ./configure make make install, 使用方法 命令格式: Valgrind [options] [your-program] [[program-options]] 样例: valgrind ./txt2db memcheck内存错误检查 命令: Valgrind -v --leak-check=full --tool=memcheck ./txt2db -f 11.txt -d 22 Memcheck: 可以用来寻找c/c++程序中内存管理的错误。 很多隐藏很深的bug是内存操作问题。在Memcheck面前都无处遁形它可以检查出下列几种错误: 1. 使用已经释放的内存 2. 内存块越界 3. 使用未初始化的变量 4. 内存泄漏(申请了未释放) 同一个内存块释放多次 栈内错误无法检查 检查daemon进程 1. valgrind -q --log-file=daemon.log --trace-children=yes --leak-check=full --tool=memcheck /home/liminch/ll2/DSserver/DSserver -c 5 -h 31 -p 20001 2. 执行正常的服务请求 3. 打开新的终端,执行 pkill memcheck 4. 返回原有终端,查看daemon.log Cachegrind缓存检查 命令: valgrind --tool=cachegrind ./memcheckTest Cachegrind: 提供详尽的profiling信息。它不光对指令、内存访问进行计数,更能针对每条指令、每行源代码、每个函数和每个程序统计cache的不命中次数。cache对目前系统的性能有决定性的影响。这些信息可以指导我们优化程序性能 产生2个输出: 1. 统计信息 2. 详细信息文件,文件名为cachegrind.out.PID 指令: I refs: 总操作数 I1 misses: 一级缓存指令未命中次数 L2i misses: 二级缓存指令未命中数 I1 miss rate: 一级缓存指令未命中率 L2i miss rate: 二级缓存指令未命中率 数据: D refs: 总数据操作数(读+写) D1 misses :一级缓存数据未命中次数 L2d misses:二级缓存数据未命中数 D1 miss rate: 一级缓存数据未命中率 L2d miss rate:二级缓存数据未命中率 二级缓存: L2 refs : I1 misses + D1 misses L2 misses : L2i misses + L2d misses L2 miss rate: L2 misses / I refs+D refs 统计信息查看 cachegrind.ou

您可能关注的文档

文档评论(0)

yaobanwd + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档