HiDumper Development

Overview

Introduction

HiDumper is a tool provided by OpenHarmony for developers, testers, and IDE tool engineers to obtain system information necessary for analyzing and locating faults. This section applies only to the standard system.

Source Code Directories

/base/hiviewdfx/hidumper
├── frameworks           # Framework code
│   ├── native           # Core function code
│   │  │── include        # Header files
│   │  │── src           # Source files
│   │      │── common    # Common function code
│   │      │── executor  # Process executor code
│   │      │── factory   # Factory code
│   │      │── manager   # Core manager code
│   │      │── util      # Utility source code
│── sa_profile           # HiDumper SA profile
│── services             # HiDumper service code
│   │── native           # C++ service code
│   │── zidl             # Communication function
│   │   │── include      # Header files of the communication function
│   │   │── src          # Source code of the communication function
├── test                 # Test cases
│   ├── unittest         # Unit test code
│   ├── moduletest       # Module-level test code

Usage

Command-Line Options

Table 1 HiDumper command-line options

Option Description
-h Shows the help Information.
-t [timeout] Specifies the timeout period, in seconds. The default value is 30. Value 0 indicates no timeout limit.
-lc Shows the system information cluster list.
-ls Shows the system ability list.
-c Exports system cluster information.
-c [base system] Exports system cluster information based on base or system tags.
-s Exports all system ability information.
-s [SA0 SA1] Exports ability information corresponding to SA0 and SA1.
-s [SA] -a ['-h'] Exports the system ability information SA using the -h parameter.
-e Exports crash logs generated by the Faultlogger module.
--net Exports network information.
--storage Exports storage information.
-p Exports the process list and all process information.
-p [pid] Exports all information about a specified process.
--cpuusage [pid] Exports the CPU usage information based on pid.
--cpufreq Exports the actual CPU frequency.
--mem [pid] Exports the memory usage information based on pid.
--zip Compresses the exported information to a specified folder.

Development Example

HiDumper helps you export basic system information to locate and analyze faults. Complex parameters passed to sub-services and abilities must be enclosed in double quotation marks.

The procedure is as follows:

  1. Access the device CLI, and run the hidumper -h command to obtain the help information, which includes basic information and function syntax.

    hidumper -h
    
  2. Run the hidumper -lc command to obtain the system information cluster list.

    hidumper -lc
    
  3. Run the hidumper -c command to obtain all information that is classified by base and system.

    hidumper -c
    
  4. Run the hidumper -c [base | system] to obtain the system cluster information that is classified by base or system.

    hidumper -c base
    hidumper -c system
    
  5. Run the hidumper -ls command to obtain the system ability list.

    hidumper -ls
    
  6. Run the hidumper -s command to obtain all system ability information.

    hidumper -s
    
  7. Run the hidumper -s 3301 -a "-h" command to obtain the help information about the ability whose ID is 3301.

    hidumper -s 3301 -a "-h"
    
  8. Run the hidumper -s 3008 command to obtain all information about the ability whose ID is 3008.

    hidumper -s 3008
    
  9. Run the hidumper -e command to obtain the crash information generated by the Faultlog module.

    hidumper -e
    
  10. Run the hidumper --net command to obtain network information.

hidumper --net
  1. Run the hidumper --storage command to obtain storage information.
hidumper --storage
  1. Run the hidumper -p command to obtain process information, including the list and information of processes and threads.
hidumper -p
  1. Run the hidumper -p 1024 command to obtain information about the process whose PID is 1024.
hidumper -p 1024
  1. Run the hidumper --cpuusage [pid] command to obtain the CPU usage information of the process whose PID has been specified.
hidumper --cpuusage
hidumper --cpuusage 1024
  1. Run the hidumper --cpufreq command to obtain the actual operating frequency of each CPU core.
hidumper --cpufreq
  1. Run the hidumper --mem [pid] command to obtain all memory usage information of the process whose PID has been specified.
hidumper --mem [pid]
  1. Run the hidumper --zip command to compress data to the /data/dumper directory.
hidumper --zip
  1. Run the hidumper -t timeout command to set the timeout period, in seconds. The default value is 30. Value 0 indicates no timeout limit.
hidumper -t [timeout]