diff --git a/zh-cn/device-dev/kernel/kernel-mini-memory-trace.md b/zh-cn/device-dev/kernel/kernel-mini-memory-trace.md index b725f81ef57d7690bc24b49f890b1f36779de19e..9200106e5cba923291112b85791f5d900ed99fac 100644 --- a/zh-cn/device-dev/kernel/kernel-mini-memory-trace.md +++ b/zh-cn/device-dev/kernel/kernel-mini-memory-trace.md @@ -1,6 +1,6 @@ # Trace调测 -- [基本概念](#section44851752123712) +- [基本概念](#sectionConception) - [运行机制](#section5282148123813) - [接口说明](#section16304193215387) - [开发指导](#section498695853819) @@ -10,13 +10,13 @@ - [结果验证](#section869613984012) -## 基本概念 +## 基本概念 Trace调测旨在帮助开发者获取内核的运行流程,各个模块、任务的执行顺序,从而可以辅助开发者定位一些时序问题或者了解内核的代码运行过程。 ## 运行机制 -内核提供一套Hook框架,将Hook点预埋在各个模块的主要流程中,开发者通过注册的形式在自己所需的Hook点上注册回调函数,当内核运行至对应流程中会由内核主动调用Hook函数,将当前流程的关键数据传递给开发者。 +内核提供一套Hook框架,将Hook点预埋在各个模块的主要流程中,Trace通过hook触发时收集相关数据和系统状态,来实现内核事件的追踪。 ## 接口说明 @@ -33,18 +33,49 @@ OpenHarmony LiteOS-M内核的Trace模块提供下面几种功能,接口详细 -

Hook注册接口

+

启停控制

-

LOS_HookReg

+

LOS_TraceStart

-

向指定Hook点注册回调函数

+

启动trace

-

Hook解注册接口

+

LOS_TraceStop

-

LOS_HookUnReg

+

停止trace

-

解注册当前Hook点的回调函数

+ +

操作Trace数据

+ +

LOS_TraceRecordDump

+ +

导出trace数据

+ + + +

LOS_TraceRecordGet

+ +

获取trace数据首地址

+ + + +

LOS_TraceReset

+ +

清除trace缓冲区中数据

+ + +

过滤事件

+ +

LOS_TraceEventMaskSet

+ +

设置事件掩码,仅记录某些模块的事件

+ + +

屏蔽某些中断号事件

+ +

LOS_TraceHwiFilterHookReg

+ +

注册过滤特定中断号事件的钩子函数

@@ -69,13 +100,55 @@ OpenHarmony LiteOS-M内核的Trace模块提供下面几种功能,接口详细 -

LOSCFG_DEBUG_HOOK

+

LOSCFG_KERNEL_TRACE

Trace功能的开关

0:关闭;1:打开

+

LOSCFG_RECORDER_MODE_OFFLINE

+ +

Trace工作模式为离线模式

+ +

0:NO;1:YES

+ + +

LOSCFG_RECORDER_MODE_ONLINE

+ +

Trace工作模式为在线模式

+ +

0:NO;1:YES

+ + +

LOSCFG_TRACE_CLIENT_INTERACT

+ +

使能与IDE的交互,包括数据可视化和trace启停控制等

+ +

0:NO;1:YES

+ + +

LOSCFG_TRACE_FRAME_EVENT_COUNT

+ +

记录事件的次序编号

+ +

0:NO;1:YES

+ + +

LOSCFG_TRACE_FRAME_MAX_PARAMS

+ +

配置记录事件的最大参数个数

+ +

默认值:3

+ + +

LOSCFG_TRACE_BUFFER_SIZE

+ +

配置Trace的缓冲区大小

+ +

默认值:2048

+ +