README_zh.md
1# HiDumper组件<a name="ZH-CN_TOPIC_0000001116225437"></a>
2
3
4- [HiDumper组件<a name="ZH-CN_TOPIC_0000001116225437"></a>](#hidumper组件)
5 - [简介<a name="section11660541593"></a>](#简介)
6 - [目录<a name="section161941989596"></a>](#目录)
7 - [说明<a name="section1312121216216"></a>](#说明)
8 - [接口说明<a name="section1551164914237"></a>](#接口说明)
9 - [使用说明<a name="section129654513264"></a>](#使用说明)
10 - [相关仓<a name="section1371113476307"></a>](#相关仓)
11
12
13## 简介<a name="section11660541593"></a>
14
15HiDumper是OpenHarmony中为开发、测试人员,IDE工具提供统一的系统信息获取工具,帮助使用者分析,定位问题。
16
17HiDumper主要包括以下几个主要模块:
18
19- hidumper,hidumper工具的可执行程序,接收用户输入,与服务端通讯。
20- DumpManager,系统信息导出工具管理者,提供信息分类,命令请求分发和信息获取方法的管理。
21- Dumpers,各类信息的导出器。主要包括文件导出、命令导出、CPU使用导出、内存使用导出等。
22- Output,内容输出,主要包括向标准输出或文件输出的FdOutput,压缩输出的ZipOutput。
23
24**图1** HiDumper架构图
25
26
27
28## 目录<a name="section161941989596"></a>
29
30```
31/base/hiviewdfx/hidumper
32├── client # 客户端代码
33│ ├── native # 客户端native代码
34├── frameworks # 框架代码
35│ ├── native # 导出功能核心代码
36| | |── include # 头文件目录
37| | |── src # 源文件目录
38| | |── common # 通用功能代码
39| | |── executor # 导出过程执行器代码
40| | |── factory # 跟进导出项生成导出执行器
41| | |── manager # 导出管理核心代码
42| | |── util # 工具类源代码
43|── sa_profile # Hidumper sa 属性文件
44|── services # Hidumper服务源码
45| |── native # 服务C++源码
46| |── zidl # 通讯功能源码目录
47| | |── include # 通讯功能头文件
48| | |── src # 通讯功能源代码
49├── test # 测试用例目录
50│ ├── unittest # 单元测试代码
51│ ├── moduletest # 模块级别测试代码
52```
53
54## 说明<a name="section1312121216216"></a>
55
56开发者在OpenHarmony应用开发过程中需要查询系统信息,服务信息,进程栈等信息时可以通过HiDumper获取到对应信息,然后利用这些信息分析定位问题。
57
58
59### 使用说明<a name="section129654513264"></a>
60
61hidumper可以为开发者导出系统当前基本信息,通过这些基本信息可以定位分析问题。给子服务和元能力传递复杂参数时,参数需要在双引号中。
62
63具体步骤如下:
64
651. 进入设备命令行,输入hidumper -h获取基本信息介绍,功能语法介绍。
66
67 ```
68 hidumper -h
69 ```
70
712. 输入hidumper -lc获取系统信息分类列表。
72
73 ```
74 hidumper -lc
75 ```
76
773. 输入hidumper -c 获取系统base、system等所有分类信息。
78
79 ```
80 hidumper -c
81 ```
82
834. 输入 **hidumper -c [base system]** 按 **base** 或 **system** 分类获取系统簇信息。
84
85 ```
86 hidumper -c base
87 hidumper -c system
88 ```
89
905. 输入 **hidumper -ls** 命令获取系统中元能力列表。
91
92 ```
93 hidumper -ls
94 ```
95
966. 输入 **hidumper -s** 命令获取系统全部元能力信息。
97
98 ```
99 hidumper -s
100 ```
101
1027. 运行 **hidumper -s 3301 -a "-h"** 命令获取id为3301的元能力的帮助。
103
104 ```
105 hidumper -s 3301 -a "-h"
106 ```
107
1088. 运行 **hidumper -s 3008** 命令获取id为3008的元能力的全部信息。
109
110 ```
111 hidumper -s 3008
112 ```
113
1149. 运行 **hidumper -e** 命令获取Faultlog模块生成的崩溃历史信息。
115
116 ```
117 hidumper -e
118 ```
119
12010. 运行 **hidumper --net** 命令获取网络信息。
121
122 ```
123 hidumper --net
124 ```
125
12611. 运行 **hidumper --storage** 命令获取存储相关信息。
127
128 ```
129 hidumper --storage
130 ```
13112. 运行 **hidumper -p** 命令获取进程信息,包括进程、线程的列表和信息。
132
133 ```
134 hidumper -p
135 ```
136
13713. 运行 **hidumper -p 1024** 命令获取pid为1024的进程信息。
138
139 ```
140 hidumper -p 1024
141 ```
142
14314. 运行 **hidumper --cpuusage [pid]** 命令获取CPU的使用信息;如果指定了进程的pid,则只获取该进程的CPU使用信息。
144
145 ```
146 hidumper --cpuusage
147 hidumper --cpuusage 1024
148 ```
149
15015. 运行 **hidumper --cpufreq** 命令获取每一个CPU核实际运行的频率。
151
152 ```
153 hidumper --cpufreq
154 ```
155
15616. 运行 **hidumper --mem [pid]** 命令获取全部的内存使用信息;如果指定进程的pid,只获取该进程的内存使用情况。
157
158 ```
159 hidumper --mem
160 hidumper --mem 1024
161 ```
162
16317. 运行 **hidumper --zip** 命令压缩信息数据到/data/dumper目录下。
164
165 ```
166 hidumper --zip
167 ```
168
16918. 运行 **hidumper -t timeout** 命令设置超时时间,单位:秒。默认值是30s。如果设置为0表示无超时限定。
170
171 ```
172 hidumper -t 5
173 ```
174
175
176## 相关仓<a name="section1371113476307"></a>
177
178DFX子系统:
179
180hmf/hiviewdfx
181
182DFX组件:
183
184hmf/hiviwdfx/hilog
185
186hmf/hiviwdfx/hitrace
187
188hmf/hiviwdfx/hicollie
189
190**hmf/hiviwdfx/hidumper**
191
192hmf/hiviwdfx/hiappevent
193
194hmf/hiviwdfx/hisysevent
195
196hmf/hiviwdfx/debug
197