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/log/hidumper目录下。 164 165 ``` 166 hidumper --zip 167 ``` 168 16918. 运行 **hidumper --mem-smaps pid [-v]** pid 必选参数。命令获取指定进程内存信息的详细使用情况。 170 171 ``` 172 hidumper --mem-smaps pid [-v] 173 ``` 174 175 176## 相关仓<a name="section1371113476307"></a> 177 178 179[DFX子系统](https://gitee.com/openharmony/docs/blob/master/zh-cn/readme/DFX子系统.md) 180 181[hiviewdfx_hilog](https://gitee.com/openharmony/hiviewdfx_hilog/blob/master/README_zh.md) 182 183[hiviewdfx_faultloggerd](https://gitee.com/openharmony/hiviewdfx_faultloggerd/blob/master/README_zh.md) 184 185[hiviewdfx_hidumper](https://gitee.com/openharmony/hiviewdfx_hidumper/blob/master/README_zh.md) 186