Graphical Profiler User Guide(14)
5 Working Set Data Output
5.1 Overview
工作集是指在指定的执行范围内,所有线程(处理器硬件和RTOS软件)访问的所有指令和数据地址的集合。第2.3.1.5节描述了输出工作集数据的命令选项,它可以以下列列表类型输出:
■ 的功能列表
■ 存储器访问列表
■ 详细的内存访问列表
■ 详细的指令
■ 执行的列表 组合的功能/内存列表
■组合的内存/功能列表
列表输出有以下格式:
■ 逗号分隔值格式(可以导入电子表格程序-如MS Excel).
5.2 Functions executed list
已执行的函数列表包含一个按字母排序的列表,其中包含作为工作集的一部分被执行的所有函数。每一行都包含以下内容。
■起始地址
■结束地址
■大小(以字节为单位)
■数据包的数量(来自ELF文件–函数中指令包的数量)
■调用次数(对函数起始地址的访问次数)。
■执行的指令包总数
■如果从程序ELF文件中可以得到函数名称。如果没有找到符号名,则输出"?"。符号名称。
下面是一个输出的例子:
Start_Addr,End_Addr, Size, Num_Packets, Num_Calls, Tot_Packets, Name
0x00004370,0x0000444c,220, 55, 21, 246, main
0x000045c0,0x000046f8,312, 41, 25,1511, memset
0x00004964, 0x00004968, 4, 1, 1,1, ???
5.3 Memory accessed list
内存访问列表包含一个按字母排序的所有数据符号的列表,这些符号作为工作集的一部分被访问。每一行都包含以下内容。
■开始地址
■结束地址
■大小(以字节为单位)
■读取访问的数量
■写访问的数量
■指令获取访问的数量
■总的访问次数(读、写、取的总和)。
■访问的总字节数(来自所有的读、写、取)。
■内存区域的符号名称(如果从程序ELF文件或用户提供的符号中可用)。如果没有找到符号名称,则输出"?"。
下面是一个输出的例子:
Start_Addr,
0x0000a100,
0x0000a400,
End_Addr, Size, Reads, Writes, Fetches, Tot_Accesses, Tot_Bytes, Name
0x0000a288,
0x0000a600,
392, 42, 20, 0, 62, 412, membuf1 512, 228, 228, 0, 456, 1824, Membuf2,
5.4 Detailed memory access list
内存访问列表包含一个排序的内存地址列表。每一行都包含以下内容:
■ 内存地址
■读取访问的数量
■写访问的数量
■指令获取访问的数量
■总的访问次数(读、写、取的总和)。
■总的访问字节数(来自所有的读、写、取)。
■内存区域的符号名称(如果从程序ELF文件或用户提供的符号中可用)。如果没有找到符号名称,则输出"?"。
下面是一个输出的例子:
Address, Reads, Writes, 0x00005000, 0, 0, 0x00008000, 10, 10, 0x00008004, 25, 0, 0x0000c004, 8, 0,
Fetches, Tot_acceses,
Tot_Bytes, Name
32, start_main
80, membuf1
100, membuf1
16, ???
5.5 Detailed instruction execution list
详细的指令执行列表包含一个被执行的指令包地址的排序列表。每一行包含以下内容:
■ 指令包的第一条指令的地址
■ 执行的次数
■ 如果在程序ELF文件中可以找到函数名称。如果没有找到符号名称,则输出’?'。
下面是一个输出的例子:
Address,
0x00000020,
0x00000024,
0x00000028,
0x00004000,
0x00004004,
0x00005010,
...
Count, Name
1, startmain
1, startmain
1, startmain
1, main
1, main
27, ???
5.6 Combined function/memory list
合并的函数/内存列表包含每个函数(按地址顺序)和函数所访问的内存位置列表(这包括指令的取值数据包的指令包)。每个条目包括以下内容:
■ 功能开始地址
■ 功能结束地址
■ 功能名称('??'如果不知道)。
■ 存储器起始地址
■ 存储器结束地址
■ 在内存中访问的总字节数
■ 内存名称(如果不知道的话)。
下面是一个输出的例子:
Fcn_saddr, Fcn_eaddr, Fcn_name,
0x00004110, 0x0000414c, thread1
, ,
, , 0x000041f0, 0x00004278, main
, ,
, , 0x00004280, 0x00004368, thread2
, ,
, ,
Mem_saddr, Mem_eaddr,
, 0x00004110, 0x0000414c,
, 0x0000d1f0, 0x000111f0,
, 0x000041f0, 0x00004278,
, 0x04180150, 0x04180151,
, 0x00004280, 0x00004368,
, 0x000111f0, 0x000151f0,
Tot_bytes, Mem_name
420, thread1
128, stack1
136, main
8, ???
11496, thread2
424, stack2
5.7 Combined memory/function list
综合存储器/功能列表包含每个存储器符号(按地址顺序)和访问该存储器的功能列表。每个条目包括以下内容:
■内存起始地址
■存储器结束地址
■内存名称(‘??‘如果不知道)。
■功能开始地址
■功能结束地址
■功能名称(如果不知道,就叫’??’)。
下面是一个输出的例子: