Graphical Profiler User Guide(1)
1.1 Overview
HexagonTM 图形剖析器显示为 Hexagon 处理器编写的程序的执行历史信息。
剖析器作为一个独立的图形应用程序运行,具有显示每种剖析信息的专用视图。
剖析器可以显示以下信息:
■Qprof文件统计(每个支持的事件类型的计数)。
■线程活动(硬件线程使用/软件线程切换/活动)。
■指令和数据缓存事件(命中/未命中)。
■二级缓存(访问/丢失)
■中断事件(断言/采取)。
■调用图(函数执行时间,调用者/被调用者关系)。
■执行事件(控制流、缓存、中断)
■总线访问事件(读/写)
剖析器适用于任何 Hexagon 处理器应用程序(独立的、基于 RTOS 的、单线程或多线程)。
剖析器对目标应用进行事后剖析:它在目标应用完成执行后使用。仿真器在执行目标应用程序的同时,生成一个或多个包含剖析信息的数据文件。在模拟完成后,剖析器使用生成的剖析数据文件来显示剖析信息。
剖析器可以选择以人类可读的格式或以压缩的二进制格式转储剖析数据文件,以便与其他软件工具一起使用。
注意 在 Hexagon 处理器上存在另一种用于分析程序的工具:区域分析器。详情请参见 Hexagon Simulator 用户指南(区域剖析部分)。
1.2 Using the documents
本文件旨在为有经验的C语言程序员提供参考,并具有汇编语言经验。它包含以下几章。
■第1章,简介,介绍了剖析器的概况。
■第2章,使用剖析器,解释如何创建剖析数据和启动剖析器。
剖析器。
■第3章,剖析器的用户界面,描述了显示各种类型剖析信息的应用程序和图表。
■第4章,剖析转储输出,描述了剖析数据转储文件的格式。
■第5章,工作集数据输出,描述工作集数据转储文件的格式。
1.3 Notation
本文件的术语和文件名使用斜体。
二进制文件
海克斯康程序员参考手册
Courier字体用于计算机输出文本、命令或代码示例。
hexagon-profiler-gui
以下符号用于定义命令语法。
■方括号括住可选项目(例如,[标签])。
■粗体字用于表示字面符号(例如,[注释])。
■竖条字符|用于表示选择的项目。
■圆括号用于包围一个选择项(例如,(添加|删除))。
■省略号,…,跟在可以出现多次的项目后面。
1.3 System requirements
该分析器在Windows®和Linux®操作系统上运行。
1.5 Feedback
如果您对如何改进剖析器(或本文件)有任何意见或建议,请寄给我们:
2 Using the Profiler
2.1 Overview
剖析器是在一个应用程序在模拟器上执行后使用的。模拟器在执行目标应用程序的同时,会生成一个或多个包含剖析信息的数据文件。在模拟完成后,剖析器输入生成的剖析数据文件并显示剖析信息。
剖析器作为一个独立的图形应用程序运行。它提供了一个基于视角的用户界面,使用户能够选择并以图形方式显示各种类型的剖析信息。
剖析器可以选择以人类可读的格式或以压缩的二进制格式转储剖析数据文件,以便与其他软件工具一起使用。
2.2 Creating the profile data file
在对一个应用程序进行剖析之前,必须为它创建一个剖析数据文件。
要为目标应用程序创建一个剖析数据文件,用
命令选项 --qprof。欲了解更多信息,请参阅 Hexagon Simulator 用户指南。注意 由 --qprof 指定的配置文件必须包括用于在 "模拟 "中查看概况信息类型的指令。
剖析器中查看的剖析信息类型。
2.3 Starting the profiler
要从命令行启动剖析器,请键入:
hexagon-profiler-gui [option...]
该命令启动剖析器程序。
剖析器在命令行中接受一个或多个输入文件。这些文件被指定为命令选项。
命令开关是用来指定命令选项的(第2.3.1节)。一个开关由一个或两个破折号组成,后面是一个开关名称和参数。请注意,开关名称是区分大小写的。开关必须至少由一个空格隔开。比如说。
hexagon-profiler-gui --qproffile qprof001.out --symfile app
要列出可用的命令选项,请使用–help选项。
hexagon-profiler-gui --help
剖析器在控制台显示正确的命令行语法,然后是可用的命令选项的列表。
命令行默认值
如果输入文件没有被指定为命令选项,剖析器假定你将使用应用程序的菜单命令来指定它们:
- 从分析器的文件菜单中选择打开。
2.使用对话框来选择文件。
2.3.1 Profiler options
剖析器选项用于从命令行控制剖析器功能。它们是由下面列出的命令开关指定的。
注意 有些选项为方便使用而定义了备用的缩写开关。
--help | -h
--version | -v --qproffile filename
--symfile filename --dump filename
--dumpcyclefilter startcycle-endcycle
--workingset filename --workingsetcyclefilter startcycle-endcycle --workingsetsymfile filename
2.3.1.1 Display information
--help -h
显示剖析器命令选项并退出
--version -v
显示剖析器的发布版本,然后退出。
注意 这些选项是作为唯一的命令参数使用的,并不启动剖析器。
2.3.1.2 Profile data files
--qproffile filename
从指定的配置文件数据文件中加载配置文件信息。开关名称后面必须有一个空格。
如果为一个应用程序生成了多个轮廓数据文件,则必须用此选项指定第一个轮廓数据文件的名称(例如,qprof001.out)–剖析器自动搜索任何其他轮廓数据文件。
有关多个剖面数据文件的更多信息,请参阅 Hexagon Simulator 用户指南。
例子。
2.3.1.3 Symbol files
--symfile filename
从指定的二进制文件中加载符号。开关名称后面必须出现一个空格。
二进制文件中定义的符号用于显示应用程序的配置文件信息。根据应用程序的类型,可能需要指定一个以上的文件作为符号文件。例如。
hexagon-profiler-gui --qproffile qprof.out --symfile app1 --symfile server
表2-1列出了必须作为单机和RTOS应用程序的符号文件指定的文件。
2.3.1.4 Dump profile data
--dump filename
转储由–qproffile选项(第2.3.1.2节)指定的profile数据文件的内容。
指定的文件是一个转储配置文件,它包含指定生成的转储文件格式的选项。更多信息见第2.4.1节。
转储文件的格式可以是人类可读的,也可以是用于其他软件工具的压缩二进制格式。
注意 这些选项仅用于转储剖析数据文件的内容–它们不会启动剖析器的用户界面。并不启动剖析器的用户界面。
2.4.1.5 Output working set data
--workingset filename
输出工作集数据。
指定的文件是一个工作集配置文件,其中包含指定生成哪些工作集数据以及将输出写入何处的选项。更多信息见第2.5节。
-workingsetcyclefilter startcycle-endcycle
将工作集数据的生成限制在指定的处理器周期范围内。破折号和周期值之间不能有空格。
这个选项总是和–工作集选项一起使用。它使用户能够运行整个仿真,然后从剖面数据的选定部分提取工作集数据。
工作集数据的生成从程序执行指定的开始周期时开始,一直持续到程序执行指定的停止周期。
如果没有指定这个选项,–工作集选项将从整个剖面数据文件中生成工作集数据。
--workingsetsymfile filename
添加用户指定的数据符号,用于生成工作集数据。
指定的文件是一个符号定义文件,它包含了用户定义的用于剖面数据中的数据区域的符号。更多信息见第2.5节。
注意 这些选项只用于输出工作集数据–它们不启动剖析器的用户界面。