- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
unixos教学课件unix系统编程基础补充
1
目录
Gprof 简介
Gprof 实现原理
Gprof 使用方法
编译程序
运行程序
使用Gprof查看结果—命令格式
使用Gprof的完整例子
Gprof产生的信息解析
Gprof使用注意
2
Gprof 简介
Gprof实际上只是一个用于读取Profile结果文件的工具。
Gprof采用混合方法来收集程序的统计信息,他使用检测方法,在编译过程中在函数入口处插入计数器用于收集每个函数的被调用情况和被调用次数;也使用采样方法,在运行时按一定间隔去检查程序计数器并在分析时找出程序计数器对应的函数来统计函数占用的时间。
3
Gprof 实现原理
通过在编译和链接你的程序的时候(使用 -pg 编译和链接选项),gcc 在你应用程序的每个函数中都加入了一个名为mcount ( or “_mcount” , or “__mcount” , 依赖于编译器或操作系统)的函数。
应用程序里的每一个函数都会调用mcount, 而mcount 会在内存中保存一张函数调用图,并通过函数调用堆栈的形式查找子函数和父函数的地址。这张调用图也保存了所有与函数相关的调用时间,调用次数等等的所有信息。
4
Gprof 使用方法
编译程序
使用gcc/cc编译和链接时需要加入-pg选项。
使用ld链接时需要用/lib/gcrt0.o代替crt0.o作为第一个input文件。
如果要调试libc库需要使用-lc_p代替-lc参数。
5
Gprof 使用方法
运行程序
正常运行编译好的程序,程序正常结束后会在当前目录生成统计信息文件gmon.out。
程序必须正常退出(调用exit或从main中返回)才能生成统计信息。
当前目录下如果有另外叫gmon.out的文件,内容将被本次运行生成的统计信息覆盖,多次运行统一程序请将前一次的gmon.out改名。
6
Gprof 使用方法
使用Gprof查看结果—命令格式
gprof options [executable-file [profile-data-files...]] [ outfile]
输出相关: symspec 表示需要加入或排除的函数名
a) -A[symspec]或--annotated-source[=symspec]:进行源码关 联,只关联symspec指定的函数,不指定为全部关联。
b) -I dirs或--directory-path=dirs:添加搜索源码的文件夹,修改 环境变量GPROF_PATH也可以。
c) -p[symspec]或--flat-profile[=symspec]:默认选项,输出统计 信息,只统计symspec指定的函数,不指定为全部统计。
7
Gprof 使用方法
使用Gprof查看结果—命令格式
d) -P[symspec]或--no-flat-profile[=symspec]:排除统计symspec 指定的函数
e) -q[symspec]或--graph[=symspec]:默认选项,输出函数调用 信息,只统计symspec指定的函数,不指定为全部统计。
f) -Q[symspec]或--no-graph[=symspec]:排除统计symspec指定 的函数
g) -b或--brief:不输出对各个参数含义的解释;
8
Gprof 使用方法
使用Gprof查看结果—命令格式
分析相关:
a) -a或--no-static:定义为static的函数将不显示,函数的被 调用次数将被计算在调用它的不是static的函数中;
b) -m num或--min-count=num:不显示被调用次数小于num 的函数;
c) -z或--display-unused-functions:显示没有被调用的函数
9
Gprof 使用方法
Gprof使用的完整例子
编译测试文件:
gcc –g –o test test.c –pg
执行程序:./test
查看统计信息:gprof -b -A -p -q test gmon.out pg
下面是一个运行Gprof后的截图
10
Gprof 使用方法
11
Gprof 产生的信息解析
Flat profile:
% the percentage of the total running time of thetime program used by this function. 函数使用时间占所有时间的百分比。
您可能关注的文档
- 土地经济学土地制度.pptx
- gmat语法教学课件时—垂悬结构.pptx
- 230internet基础知识.pptx
- 7112011年出版资格考试复习.pptx
- 房地产企业所得税政策难点解析筹划汇算稽查风险防范与实战操作.pptx
- 7微机操作系统.pptx
- 工资工时休假及加班管理风险控制.pptx
- 855第一章测量技术及误差理论基础.pptx
- 初中主题班会向中考奋进课件.pptx
- mba公司治理公司治理的国际比较.pptx
- 实施指南(2025)《DZT 0432-2023 煤炭与煤层气矿产综合勘查规范》.pptx
- 实施指南(2025)《DLT1110-2009 卧式蒸发冷却电机基本技术条件》.pptx
- 实施指南(2025)《DAT43-2009 缩微胶片数字化技术规范》.pptx
- 实施指南(2025)《GBT5248-2016 铜及铜合金无缝管涡流探伤方法》.pptx
- 实施指南(2025)《FZT 64088—2022 农业保温复合织物》.pptx
- 实施指南(2025)《FZT73031-2009 压力袜》.pptx
- 实施指南(2025)《DL/T 1383—2023 电力行业供应商信用评价规范》.pptx
- 实施指南(2025)《DL/T 2596—2023 智能电能表现场运行可靠性试验规程》.pptx
- 实施指南(2025)《DL/T 2598—2023 发电厂水汽中低浓度溶解氧在线测量导则》.pptx
- 实施指南(2025)《DL/T 2604—2023 高压并联电抗器现场局部放电试验装置通用技术条件》.pptx
最近下载
- 课堂观察表.doc VIP
- 劳动法和劳动关系管理符成成习题答案.pdf VIP
- 《没头脑和不高兴》-完整版课件.ppt VIP
- GB50487-2008 (2022年版) 水利水电工程地质勘察规范.pdf VIP
- 医学需要胎儿性别鉴定申请表.doc
- 《地表水环境质量标准》(gb3838-2022.docx VIP
- 部编人教版八年级上册道德与法治全册教学设计(配2025年秋改版教材).docx
- 2025矿业权评估师(矿业权评估地质与矿业工程专业能力)精选模拟试题及答案.docx VIP
- 食品法律法规与标准.ppt VIP
- 2023届高三化学二轮复习 正八面体空隙和正四面体空隙 课件.pptx VIP
原创力文档


文档评论(0)