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 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