100600bfbSopenharmony_ci# HiDumper组件<a name="ZH-CN_TOPIC_0000001116225437"></a>
200600bfbSopenharmony_ci
300600bfbSopenharmony_ci
400600bfbSopenharmony_ci- [HiDumper组件<a name="ZH-CN_TOPIC_0000001116225437"></a>](#hidumper组件)
500600bfbSopenharmony_ci  - [简介<a name="section11660541593"></a>](#简介)
600600bfbSopenharmony_ci  - [目录<a name="section161941989596"></a>](#目录)
700600bfbSopenharmony_ci  - [说明<a name="section1312121216216"></a>](#说明)
800600bfbSopenharmony_ci    - [接口说明<a name="section1551164914237"></a>](#接口说明)
900600bfbSopenharmony_ci    - [使用说明<a name="section129654513264"></a>](#使用说明)
1000600bfbSopenharmony_ci  - [相关仓<a name="section1371113476307"></a>](#相关仓)
1100600bfbSopenharmony_ci																					 
1200600bfbSopenharmony_ci
1300600bfbSopenharmony_ci## 简介<a name="section11660541593"></a>
1400600bfbSopenharmony_ci
1500600bfbSopenharmony_ciHiDumper是OpenHarmony中为开发、测试人员,IDE工具提供统一的系统信息获取工具,帮助使用者分析,定位问题。
1600600bfbSopenharmony_ci
1700600bfbSopenharmony_ciHiDumper主要包括以下几个主要模块:
1800600bfbSopenharmony_ci
1900600bfbSopenharmony_ci-   hidumper,hidumper工具的可执行程序,接收用户输入,与服务端通讯。
2000600bfbSopenharmony_ci-   DumpManager,系统信息导出工具管理者,提供信息分类,命令请求分发和信息获取方法的管理。
2100600bfbSopenharmony_ci-   Dumpers,各类信息的导出器。主要包括文件导出、命令导出、CPU使用导出、内存使用导出等。
2200600bfbSopenharmony_ci-   Output,内容输出,主要包括向标准输出或文件输出的FdOutput,压缩输出的ZipOutput。
2300600bfbSopenharmony_ci
2400600bfbSopenharmony_ci**图1**  HiDumper架构图
2500600bfbSopenharmony_ci
2600600bfbSopenharmony_ci![](figures/zh-cn_image_0000001116226343.png)
2700600bfbSopenharmony_ci
2800600bfbSopenharmony_ci## 目录<a name="section161941989596"></a>
2900600bfbSopenharmony_ci
3000600bfbSopenharmony_ci```
3100600bfbSopenharmony_ci/base/hiviewdfx/hidumper
3200600bfbSopenharmony_ci├── client                # 客户端代码
3300600bfbSopenharmony_ci│   ├── native            # 客户端native代码
3400600bfbSopenharmony_ci├── frameworks            # 框架代码
3500600bfbSopenharmony_ci│   ├── native            # 导出功能核心代码
3600600bfbSopenharmony_ci|   |   |── include        # 头文件目录
3700600bfbSopenharmony_ci|   |   |── src           # 源文件目录
3800600bfbSopenharmony_ci|   |       |── common    # 通用功能代码
3900600bfbSopenharmony_ci|   |       |── executor  # 导出过程执行器代码
4000600bfbSopenharmony_ci|   |       |── factory   # 跟进导出项生成导出执行器
4100600bfbSopenharmony_ci|   |       |── manager   # 导出管理核心代码
4200600bfbSopenharmony_ci|   |       |── util      # 工具类源代码
4300600bfbSopenharmony_ci|── sa_profile            # Hidumper sa 属性文件
4400600bfbSopenharmony_ci|── services              # Hidumper服务源码
4500600bfbSopenharmony_ci|   |── native            # 服务C++源码
4600600bfbSopenharmony_ci|   |── zidl              # 通讯功能源码目录
4700600bfbSopenharmony_ci|   |   |── include       # 通讯功能头文件
4800600bfbSopenharmony_ci|   |   |── src           # 通讯功能源代码
4900600bfbSopenharmony_ci├── test                  # 测试用例目录
5000600bfbSopenharmony_ci│   ├── unittest          # 单元测试代码
5100600bfbSopenharmony_ci│   ├── moduletest        # 模块级别测试代码
5200600bfbSopenharmony_ci```
5300600bfbSopenharmony_ci
5400600bfbSopenharmony_ci## 说明<a name="section1312121216216"></a>
5500600bfbSopenharmony_ci
5600600bfbSopenharmony_ci开发者在OpenHarmony应用开发过程中需要查询系统信息,服务信息,进程栈等信息时可以通过HiDumper获取到对应信息,然后利用这些信息分析定位问题。
5700600bfbSopenharmony_ci
5800600bfbSopenharmony_ci
5900600bfbSopenharmony_ci### 使用说明<a name="section129654513264"></a>
6000600bfbSopenharmony_ci
6100600bfbSopenharmony_cihidumper可以为开发者导出系统当前基本信息,通过这些基本信息可以定位分析问题。给子服务和元能力传递复杂参数时,参数需要在双引号中。
6200600bfbSopenharmony_ci
6300600bfbSopenharmony_ci具体步骤如下:
6400600bfbSopenharmony_ci
6500600bfbSopenharmony_ci1.  进入设备命令行,输入hidumper -h获取基本信息介绍,功能语法介绍。
6600600bfbSopenharmony_ci
6700600bfbSopenharmony_ci    ```
6800600bfbSopenharmony_ci    hidumper -h
6900600bfbSopenharmony_ci    ```
7000600bfbSopenharmony_ci
7100600bfbSopenharmony_ci2.  输入hidumper -lc获取系统信息分类列表。
7200600bfbSopenharmony_ci
7300600bfbSopenharmony_ci    ```
7400600bfbSopenharmony_ci    hidumper -lc
7500600bfbSopenharmony_ci    ```
7600600bfbSopenharmony_ci
7700600bfbSopenharmony_ci3.  输入hidumper -c 获取系统base、system等所有分类信息。
7800600bfbSopenharmony_ci
7900600bfbSopenharmony_ci    ```
8000600bfbSopenharmony_ci    hidumper -c
8100600bfbSopenharmony_ci    ```
8200600bfbSopenharmony_ci
8300600bfbSopenharmony_ci4.  输入  **hidumper -c [base system]**  按  **base** 或 **system** 分类获取系统簇信息。
8400600bfbSopenharmony_ci
8500600bfbSopenharmony_ci    ```
8600600bfbSopenharmony_ci    hidumper -c base
8700600bfbSopenharmony_ci    hidumper -c system
8800600bfbSopenharmony_ci    ```
8900600bfbSopenharmony_ci
9000600bfbSopenharmony_ci5.  输入  **hidumper -ls**  命令获取系统中元能力列表。
9100600bfbSopenharmony_ci
9200600bfbSopenharmony_ci    ```
9300600bfbSopenharmony_ci    hidumper -ls
9400600bfbSopenharmony_ci    ```
9500600bfbSopenharmony_ci
9600600bfbSopenharmony_ci6.  输入  **hidumper -s**  命令获取系统全部元能力信息。
9700600bfbSopenharmony_ci
9800600bfbSopenharmony_ci    ```
9900600bfbSopenharmony_ci    hidumper -s
10000600bfbSopenharmony_ci    ```
10100600bfbSopenharmony_ci
10200600bfbSopenharmony_ci7.  运行  **hidumper -s 3301 -a "-h"**  命令获取id为3301的元能力的帮助。
10300600bfbSopenharmony_ci
10400600bfbSopenharmony_ci    ```
10500600bfbSopenharmony_ci    hidumper -s 3301  -a "-h"
10600600bfbSopenharmony_ci    ```
10700600bfbSopenharmony_ci
10800600bfbSopenharmony_ci8.  运行  **hidumper -s 3008**  命令获取id为3008的元能力的全部信息。
10900600bfbSopenharmony_ci
11000600bfbSopenharmony_ci    ```
11100600bfbSopenharmony_ci    hidumper -s 3008
11200600bfbSopenharmony_ci    ```
11300600bfbSopenharmony_ci
11400600bfbSopenharmony_ci9.  运行  **hidumper -e**  命令获取Faultlog模块生成的崩溃历史信息。
11500600bfbSopenharmony_ci
11600600bfbSopenharmony_ci    ```
11700600bfbSopenharmony_ci    hidumper -e
11800600bfbSopenharmony_ci    ```
11900600bfbSopenharmony_ci
12000600bfbSopenharmony_ci10. 运行  **hidumper --net [pid]**  命令获取网络信息;如果指定了进程的pid,则只获取该进程的网络流量使用信息。
12100600bfbSopenharmony_ci
12200600bfbSopenharmony_ci    ```
12300600bfbSopenharmony_ci    hidumper --net
12400600bfbSopenharmony_ci    hidumper --net 1024
12500600bfbSopenharmony_ci    ```
12600600bfbSopenharmony_ci
12700600bfbSopenharmony_ci11. 运行  **hidumper --storage [pid]**  命令获取存储相关信息;如果指定了进程的pid,则只获取该进程的io信息。
12800600bfbSopenharmony_ci
12900600bfbSopenharmony_ci    ```
13000600bfbSopenharmony_ci    hidumper --storage
13100600bfbSopenharmony_ci    hidumper --storage 1024
13200600bfbSopenharmony_ci    ```
13300600bfbSopenharmony_ci12. 运行  **hidumper -p**  命令获取进程信息,包括进程、线程的列表和信息。
13400600bfbSopenharmony_ci
13500600bfbSopenharmony_ci    ```
13600600bfbSopenharmony_ci    hidumper -p
13700600bfbSopenharmony_ci    ```
13800600bfbSopenharmony_ci
13900600bfbSopenharmony_ci13. 运行  **hidumper -p 1024**  命令获取pid为1024的进程信息。
14000600bfbSopenharmony_ci
14100600bfbSopenharmony_ci    ```
14200600bfbSopenharmony_ci    hidumper -p 1024
14300600bfbSopenharmony_ci    ```
14400600bfbSopenharmony_ci
14500600bfbSopenharmony_ci14. 运行  **hidumper --cpuusage [pid]**  命令获取CPU的使用信息;如果指定了进程的pid,则只获取该进程的CPU使用信息。
14600600bfbSopenharmony_ci
14700600bfbSopenharmony_ci    ```
14800600bfbSopenharmony_ci    hidumper --cpuusage
14900600bfbSopenharmony_ci    hidumper --cpuusage 1024
15000600bfbSopenharmony_ci    ```
15100600bfbSopenharmony_ci
15200600bfbSopenharmony_ci15. 运行  **hidumper --cpufreq**  命令获取每一个CPU核实际运行的频率。
15300600bfbSopenharmony_ci
15400600bfbSopenharmony_ci    ```
15500600bfbSopenharmony_ci    hidumper --cpufreq
15600600bfbSopenharmony_ci    ```
15700600bfbSopenharmony_ci
15800600bfbSopenharmony_ci16. 运行  **hidumper --mem [pid]**  命令获取全部的内存使用信息;如果指定进程的pid,只获取该进程的内存使用情况。
15900600bfbSopenharmony_ci
16000600bfbSopenharmony_ci    ```
16100600bfbSopenharmony_ci    hidumper --mem
16200600bfbSopenharmony_ci    hidumper --mem 1024
16300600bfbSopenharmony_ci    ```
16400600bfbSopenharmony_ci
16500600bfbSopenharmony_ci17. 运行  **hidumper --zip**  命令压缩信息数据到/data/log/hidumper目录下。
16600600bfbSopenharmony_ci
16700600bfbSopenharmony_ci    ```
16800600bfbSopenharmony_ci    hidumper --zip
16900600bfbSopenharmony_ci    ```
17000600bfbSopenharmony_ci
17100600bfbSopenharmony_ci18. 运行  **hidumper --mem-smaps pid [-v]**  pid 必选参数。命令获取指定进程内存信息的详细使用情况。
17200600bfbSopenharmony_ci
17300600bfbSopenharmony_ci    ```
17400600bfbSopenharmony_ci    hidumper --mem-smaps pid [-v]
17500600bfbSopenharmony_ci    ```
17600600bfbSopenharmony_ci
17700600bfbSopenharmony_ci19. 运行  **hidumper --mem-jsheap pid [-T tid] [--gc] [--leakobj]**  pid 必选参数。命令触发所有线程gc和快照导出。如果指定线程的tid,只触发该线程gc和快照导出;如果指定--gc,只触发gc不做快照导出;如果指定--leakobj,则获取泄露对象的列表。
17800600bfbSopenharmony_ci
17900600bfbSopenharmony_ci    ```
18000600bfbSopenharmony_ci    hidumper --mem-jsheap pid [-T tid] [--gc] [--leakobj]
18100600bfbSopenharmony_ci    ```
18200600bfbSopenharmony_ci
18300600bfbSopenharmony_ci## 相关仓<a name="section1371113476307"></a>
18400600bfbSopenharmony_ci
18500600bfbSopenharmony_ci
18600600bfbSopenharmony_ci[DFX子系统](https://gitee.com/openharmony/docs/blob/master/zh-cn/readme/DFX子系统.md)
18700600bfbSopenharmony_ci
18800600bfbSopenharmony_ci[hiviewdfx_hilog](https://gitee.com/openharmony/hiviewdfx_hilog/blob/master/README_zh.md)
18900600bfbSopenharmony_ci
19000600bfbSopenharmony_ci[hiviewdfx_faultloggerd](https://gitee.com/openharmony/hiviewdfx_faultloggerd/blob/master/README_zh.md)
19100600bfbSopenharmony_ci
19200600bfbSopenharmony_ci[hiviewdfx_hidumper](https://gitee.com/openharmony/hiviewdfx_hidumper/blob/master/README_zh.md)
193