Hexagon图形分析器介绍(二十二)
5 工作集数据输出
5.1 概述
工作集是在指定的执行范围内跨所有线程(处理器硬件和 RTOS 软件)访问的所有指令和数据地址的集合。 2.3.1.5 节描述了输出工作集数据的命令选项,可以在以下列表类型中输出:
- 执行的功能一览
- 内存访问列表
- 详细的内存访问列表
- 详细指令执行列表
- 组合功能/内存列表
- 组合内存/功能列表
列表输出采用以下格式:
- 逗号分隔值格式(可以导入电子表格程序——如 MS Excel)
5.2 函数执行列表
执行的函数列表包含作为工作集的一部分执行的所有函数的按字母顺序排序的列表。 每行包含以下内容:
- 起始地址
- 结束地址
- 大小(以byte为单位)
- 包数(来自ELF文件-函数中的指令包数)
- 调用次数(函数起始地址的访问次数)
- 执行的指令包总数
- 函数名称(如果在程序ELF 文件中可用)。 “???” 如果未找到符号名称,则输出。
示例输出如下所示:
5.3 内存访问列表
内存访问列表包含按字母顺序排序的所有数据符号列表,这些数据符号作为工作集的一部分被访问。 每行包含以下内容:
- 起始地址
- 结束地址
- 大小(以byte为单位)
- 读访问次数
- 写访问次数
- 取指令访问次数
- 总访问次数(读、写、取的总和)
- 访问的总byte数(来自所有读取、写入、获取)
- 如果可以从程序ELF 文件或用户提供的符号中获得,则存储区的符号名称。 “???” 如果未找到符号名称,则输出。
示例输出如下所示:
5.4 详细的内存访问列表
内存访问列表包含一个已排序的内存地址列表。 每行包含以下内容:
- 内存地址
- 读访问次数
- 写访问次数
- 取指令访问次数
- 总访问次数(读、写、取的总和)
- 访问的总byte数(来自所有读取、写入、获取)
- 存储区的符号名称(如果可从程序 ELF 文件或用户提供的符号获得)。 ‘???’ 如果未找到符号名称,则输出。
示例输出如下所示:
5.5 详细指令执行列表
详细的指令执行列表包含已执行的指令包地址的排序列表。 每行包含以下内容:
- 数据包第一条指令地址
- 执行次数
- 函数名称(如果在程序ELF 文件中可用)。 ‘???’ 如果未找到符号名称,则输出。
示例输出如下所示:
5.6 组合功能/内存列表
组合的函数/内存列表包含每个函数(按地址顺序)和函数访问的内存位置列表(这包括函数指令包的获取)。 每个条目包含以下内容:
- 函数起始地址
- 函数结束地址
- 函数名(’???’,如果不知道)
- 内存起始地址
- 内存结束地址
- 内存中访问的总byte数
- 内存名称(’???’,如果不知道)
示例输出如下所示:
5.7 组合内存/功能列表
组合内存/函数列表包含每个内存符号(按地址顺序)和访问内存的函数列表。 每个条目包含以下内容:
- 内存起始地址
- 内存结束地址
- 内存名称(’???’,如果不知道)
- 函数起始地址
- 函数结束地址
- 函数名(’???’,如果不知道)
示例输出如下所示: