From 781058aededf3a596fbd5b17357eaa40185a14d3 Mon Sep 17 00:00:00 2001 From: LiteOS Date: Tue, 28 Sep 2021 11:39:13 +0000 Subject: [PATCH 1/3] trace doc --- zh-cn/device-dev/kernel/kernel-mini-memory-trace.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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 b725f81e..2ba12f37 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,7 +10,7 @@ - [结果验证](#section869613984012) -## 基本概念 +## 基本概念 Trace调测旨在帮助开发者获取内核的运行流程,各个模块、任务的执行顺序,从而可以辅助开发者定位一些时序问题或者了解内核的代码运行过程。 -- Gitee From 6ccd4a57bd97009bfe254ef9127fa55507f754b4 Mon Sep 17 00:00:00 2001 From: LiteOS Date: Tue, 28 Sep 2021 12:52:54 +0000 Subject: [PATCH 2/3] trace doc --- .../kernel/kernel-mini-memory-trace.md | 87 +++++++++++++++++-- 1 file changed, 79 insertions(+), 8 deletions(-) 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 2ba12f37..4de91965 100644 --- a/zh-cn/device-dev/kernel/kernel-mini-memory-trace.md +++ b/zh-cn/device-dev/kernel/kernel-mini-memory-trace.md @@ -16,7 +16,7 @@ Trace调测旨在帮助开发者获取内核的运行流程,各个模块、任 ## 运行机制 -内核提供一套Hook框架,将Hook点预埋在各个模块的主要流程中,开发者通过注册的形式在自己所需的Hook点上注册回调函数,当内核运行至对应流程中会由内核主动调用Hook函数,将当前流程的关键数据传递给开发者。 +内核提供一套Hook框架,将Hook点预埋在各个模块的主要流程中,Trace通过hook触发时收集相关数据和系统状态,来实现内核事件的追踪。 ## 接口说明 @@ -33,18 +33,47 @@ 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 +98,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

+ + -- Gitee From d2da40fe9b435138c083d6eb7fd14c7abe33c0fe Mon Sep 17 00:00:00 2001 From: kenneth Date: Tue, 28 Sep 2021 13:21:22 +0000 Subject: [PATCH 3/3] fix rowspan issue --- zh-cn/device-dev/kernel/kernel-mini-memory-trace.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) 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 4de91965..9200106e 100644 --- a/zh-cn/device-dev/kernel/kernel-mini-memory-trace.md +++ b/zh-cn/device-dev/kernel/kernel-mini-memory-trace.md @@ -45,18 +45,20 @@ OpenHarmony LiteOS-M内核的Trace模块提供下面几种功能,接口详细

停止trace

-

操作Trace数据

+

操作Trace数据

LOS_TraceRecordDump

导出trace数据

+

LOS_TraceRecordGet

获取trace数据首地址

+

LOS_TraceReset

清除trace缓冲区中数据

-- Gitee