Callgrind--函数调用分析工具以及可视化方法
生成分析文件
命令行运行:
valgrind --tool=callgrind ./palmGateMachine
检测完毕之后会生成一个文件callgrind.out.26805, 后面的数字其实是这个待测进程的pid
可视化方法
可视化方法
可视化工具
kcachegrind
1、下载地址:
https://launchpad.net/ubuntu/trusty/+search?text=kcachegrind
百度云盘链接:https://pan.baidu.com/s/1rPRWMHi5WWnv2MRKbiHIVg
提取码:k4dd
我下载的这个,
直接双击安装
2、安装之后命令行 kcachegrind打开
open 选项选择callgrind.out.26805 文件 就可以了
3、如图
参数解释:
incl – 包含的运行时间
self --自我调用(根据stackOverflow上的解释,这两个区别是一个是全部的耗费时间或时间比, self是自我调用或类似于递归这种的,不明确)
called --调用次数
右边的图解释:
调用时间分布,如图,main函数里面有两个耗费时间的函数分别是
palmGateMachine::init 和QguiApplication::exec, 一个是主程序的初始化, 一个是主程序的事件循环, 这两个运行时间加起来,等于main函数的运行时间,
后续的也是依此类推
这里有一个简单的文档:
vi-hps-tw09-Kcachegrind-guide.pdf
链接:https://pan.baidu.com/s/1SxUQ2jlXz4snnHLodnoAfg
提取码:mc8a
Callgrind--函数调用分析工具以及可视化方法相关推荐
- linux valgrind memCheck ---内存检查工具的可视化方法valkyrie
linux valgrind memCheck -内存检查工具的可视化方法valkyrie linux valgrind Memcheck–内存检查工具 1.安装valgrind valgrind 安 ...
- 病毒分析工具和使用方法(一)
加壳验证工具 所谓病毒加壳,是指经过系列数学运算,将可执行程序文件或动态链接库文件的编码进行改变(目前还有一些加壳软件可以压缩.加密驱动程序),以达到缩小文件体积或加密程序编码,从而使病毒文件逃过杀毒 ...
- Cachegrind--缓存命中检查工具及其可视化
Cachegrind–缓存命中检查工具及其可视化 和 Callgrind–函数调用分析工具以及可视化方法 一模一样 命令改为: valgrind --tool=cachegrind ./palmGat ...
- linux平台软件动态分析工具valgrind系列工具及其可视化
linux平台软件动态分析工具valgrind系列工具 Memcheck–内存检查工具 Callgrind–函数调用分析工具 Cachegrind–缓存命中分析工具 Helgrind–线程分析工具 M ...
- 【BI应用实例】Tableau 分析工具促进国航 IT 与业务融合
为了加速业务与IT的融合.利用数据分析促进业务运营,自 2017 年开始中国国际航空股份有限公司(以下简称国航)与 Tableau 合作,通过分析报表的可视化数据洞察为多个业务部门的运营决策提供支撑. ...
- cacti 网络流量监测图形分析工具
Cacti是一套基于PHP,MySQL,SNMP及RRDTool开发的网络流量监测图形分析工具. 安装方法 一.安装rrdtool CentOS-5: rpm -ivh http://apt.sw. ...
- 网络协议分析工具Ethereal的使用
大学时计算机网络课的实验报告,当时提不起兴趣,今天看来还挺有用的.可以学习下怎样抓数据包,然后分析程序的通信协议. 一:学习使用网络协议分析工具Ethereal的方法,并用它来分析一些协议. 实验步骤 ...
- 性能之巅:Linux网络性能分析工具
编者按:InfoQ开设新栏目"品味书香",精选技术书籍的精彩章节,以及分享看完书留下的思考和收获,欢迎大家关注.本文节选自格雷格著<性能之巅:洞悉系统.企业与云计算>中 ...
- 国外主流网站分析工具介绍
英语原文地址: [url]http://www.hit-counter-download.com/web-stats.html[/url] 今天无意间发现的这个网址,里面介绍了国外的主流网站分析工具. ...
最新文章
- 从零开始一起学习SLAM | 点云到网格的进化
- k8s master ping不通node_搭建k8s可用集群
- 关于WordPress中字体加载慢的问题解决方案(转)
- 【Java 并发编程】线程简介 ( 并发类型 | 线程状态 | CPU 数据缓存 )
- 分享30个激励的非营利网站设计精美案例
- 一篇文章搞懂数据仓库:数据仓库规范设计
- mysql 清理 reley_MySQL日志相关
- 十二月份找工作好找吗_学习完3D游戏建模好找工作吗
- ListView可拖拽item的原理
- Deep Speaker: an End-to-End Neural Speaker Embedding System
- Linux进阶之bond链路聚合
- 全国职业院校技能大赛——物联网赛项比赛感想
- 陀螺仪推荐-Murata村田 6DoF惯性传感器SCHA634-D03
- 有利可图网_您的基于云的应用程序可能是有利可图的产品
- 计算机应用冯诺依曼计算机图,冯·诺依曼计算机结构图解析
- MIGO 收货批次增强
- C++ MATLAB 混合编程——VS项目调用MATLAB函数
- 字符编码、unicode、代码页、矢量字体及多国语开发
- UE4实现一个简单的炸弹爆炸与镜头振动效果
- JavaScript使用for循环和splice删除数组指定元素的注意点