1# hiviewdfx_hidumper_lite
2
3-   [简介](#简介)
4-   [目录](#目录)
5-   [hidumper_lite的使用](#hidumper_lite的使用)
6-   [系统调用接口定义](#系统调用接口定义)
7-   [重写接口](#重写接口)
8-   [相关仓](#相关仓)
9
10## 简介
11
12hidumper_lite提供liteOS_M系统下dump接口,帮助开发者提供故障日志、内存、CPU等信息的导出功能。
13
14## 目录
15
16Hiview源代码目录结构如下:
17
18```
19/base/hiviewdfx/hidumper_lite.
20├── lite
21    └── hidumper.c                          #AT命令处理过程
22└── mini
23    ├── hidumper_adapter.c                  #hidumper功能函数适配层
24    ├── hidumper_core.c                     #hidumper核心层
25    └── interfaces                          #公共接口文件
26
27```
28
29## hidumper_lite的使用
30
31hidumper_lite在liteOS_M下面是通过AT命令进行数据查询的
32
33- 参数:
34  | 命令格式 | 命令含义 |
35  | -------- | -------- |
36  | AT+HIDUMPER= | 打印出CPU、内存和全部的task使用信息 |
37  | AT+HIDUMPER=-dc | 打印出CPU使用信息 |
38  | AT+HIDUMPER=-dm | 打印出内存使用信息 |
39  | AT+HIDUMPER=-df | 打印出最后的故障日志信息 |
40  | AT+HIDUMPER=-dt | 打印出全部task信息 |
41  | AT+HIDUMPER=-h | 打印出帮助信息 |
42  | AT+HIDUMPER=-ikc | 向内核注入故障 |
43  | AT+HIDUMPER=-m | 以16进制形式打印出全部内存数据 |
44  | AT+HIDUMPER=-m,memstart,memsize | 以16进制形式打印出特定内存区域数据。两个参数,memstart:内存起始地址,memsize:内存大小 |
45
46## 系统调用接口定义
47
48### at_hidumper
49
50```
51int at_hidumper(unsigned int argc, const char **argv)
52```
53
54注入到系统的AT指令处理函数
55
56- 参数:
57  | 成员 | 类型 | 必填 | 说明 |
58  | -------- | -------- | -------- | -------- |
59  | argc | unsigned int | 是 | 输入参数的个数。 |
60  | argv | const char** | 是 | 输入参数的内容 |
61
62
63## 重写接口
64
65实例可以参考hi3861芯片的重写,对应位置为device/soc/hisilicon/hi3861v100/sdk_liteos/components/at/src/hidumper_adapter_impl.c
66
67以下的函数都是需要在不同的芯片下重写的:
68
69### DumpSysInfo
70
71```
72int DumpSysInfo(void);
73```
74
75重写打印系统信息函数。该函数打印当前设备系统信息。
76
77### DumpCpuUsage
78
79```
80int DumpCpuUsage(void);
81```
82
83重写打印CPU使用信息函数。该函数打印当前设备CPU使用信息。
84
85### DumpMemUsage
86
87```
88int DumpMemUsage(void);
89```
90
91重写打印内存使用信息函数。该函数打印当前设备内存使用信息。
92
93### DumpTaskInfo
94
95```
96int DumpTaskInfo(void);
97```
98
99重写打印系统全部Task信息函数。该函数打印系统中全部的task信息。
100
101### DumpFaultLog
102
103```
104int DumpFaultLog(void);
105```
106
107重写打印异常日志信息函数。该函数打印最后保存的日志信息。
108
109### DumpMemRegion
110
111```
112int DumpMemRegion(unsigned long long addr, unsigned long long size)
113```
114
115重写打印指定区域内存数据函数。该函数打印从addr开始一共size这大小的内存区域的数据。
116
117- 参数:
118  | 参数名 | 类型 | 必填 | 说明 |
119  | -------- | -------- | -------- | -------- |
120  | addr | unsigned long long | 是 | 需要查询的内存起始地址 |
121  | size | unsigned long long | 是 | 需要查询的内大小 |
122
123### DumpAllMem
124
125```
126int DumpAllMem(void);
127```
128
129重写打印全部内存数据函数。该函数能打印全部内存数据。
130
131### PlatformHiDumperIinit
132
133```
134int PlatformHiDumperIinit(void);
135```
136
137重写平台hidumper初始化函数。该函数根据不同平台初始化HiDumper的at命令等特性。
138
139## 相关仓
140
141[DFX子系统](https://gitee.com/openharmony/docs/blob/master/zh-cn/readme/DFX%E5%AD%90%E7%B3%BB%E7%BB%9F.md)
142
143**hiviewdfx\_hidumper\_lite**
144
145[hiviewdfx\_blackbox](https://gitee.com/openharmony/hiviewdfx_blackbox/blob/master/README_zh.md)
146
147[hiviewdfx\_hilog\_lite](https://gitee.com/openharmony/hiviewdfx_hilog_lite/blob/master/README_zh.md)
148
149[hiviewdfx\_hievent\_lite](https://gitee.com/openharmony/hiviewdfx_hievent_lite/blob/master/README_zh.md)
150
151[hiviewdfx\_hiview\_lite](https://gitee.com/openharmony/hiviewdfx_hiview_lite/blob/master/README_zh.md)
152