Lines Matching refs:Trace

1 # Trace调测
6 Trace调测旨在帮助开发者获取内核的运行流程,各个模块、任务的执行顺序,从而可以辅助开发者定位一些时序问题或者了解内核的代码运行过程。
11 内核提供一套Hook框架,将Hook点预埋在各个模块的主要流程中, 在内核启动初期完成Trace功能的初始化,并注册Trace的处理函数到Hook中。
13 当系统触发到一个Hook点时,Trace模块会对输入信息进行封装,添加Trace帧头信息,包含事件类型、运行的cpuid、运行的任务id、运行的相对时间戳等信息;
15 Trace提供2种工作模式,离线模式和在线模式。
17 离线模式会将trace frame记录到预先申请好的循环buffer中。如果循环buffer记录的frame过多则可能出现翻转,会覆盖之前的记录,故保持记录的信息始终是最新的信息。Trace循环bu…
26 OpenHarmony LiteOS-M内核的Trace模块提供下面几种功能,接口详细信息可以查看API参考。
28 **表1** Trace模块接口说明
32 | 启停控制 | -&nbsp;LOS_TraceStart:启动Trace<br/>-&nbsp;LOS_TraceStop:停止Trace |
33 | 操作Trace记录的数据 | -&nbsp;LOS_TraceRecordDump:输出Trace缓冲区数据<br/>-&nbsp;LOS_TraceRecordGet:获取Trace缓冲区的首…
34 | 过滤Trace记录的数据 | LOS_TraceEventMaskSet:设置事件掩码,仅记录某些模块的事件 |
77 …#define FS_READ_PARAMS(fp, fd, flag, size) fp, fd, flag, size /* 宏定义的参数对应于Trace缓冲区中记录的事件参数,用户可对任意…
90 > 预置的Trace事件及参数均可以通过上述方式进行裁剪,参数详见kernel\include\los_trace.h。
92 - Trace Mask事件过滤接口LOS_TraceEventMaskSet(UINT32 mask),其入参mask仅高28位生效(对应LOS_TRACE_MASK中某模块的使能位),仅用于模块…
94 - 如果仅需要简易插桩事件,通过设置Trace Mask为TRACE_MAX_FLAG即可。
96 - Trace缓冲区有限,事件写满之后会覆盖写,用户可通过LOS_TraceRecordDump中打印的CurEvtIndex识别最新记录。
98 - Trace的典型操作流程为:LOS_TraceStart、 LOS_TraceStop、 LOS_TraceRecordDump.
100 - 针对中断事件的Trace, 提供中断号过滤,用于解决某些场景下特定中断号频繁触发导致其他事件被覆盖的情况,用户可自定义中断过滤的规则,
122 开启Trace调测的典型流程如下:
124 1. 配置Trace模块相关宏。
128 | LOSCFG_KERNEL_TRACE | Trace模块的裁剪开关 | YES/NO |
129 | LOSCFG_RECORDER_MODE_OFFLINE | Trace工作模式为离线模式 | YES/NO |
130 | LOSCFG_RECORDER_MODE_ONLINE | Trace工作模式为在线模式 | YES/NO |
131 …| LOSCFG_TRACE_CLIENT_INTERACT | 使能与Trace&nbsp;IDE&nbsp;(dev&nbsp;tools)的交互,包括数据可视化和流程控制 | YES/NO …
135 | LOSCFG_TRACE_BUFFER_SIZE | 配置Trace的缓冲区大小 | INT |
139 3. (可选)调用LOS_TraceStop停止Trace后,清除缓冲区LOS_TraceReset(系统默认已启动trace)。
166 1. 创建一个用于Trace测试的任务。