1# hidebug_type.h 2 3 4## Overview 5 6Defines the structs of the HiDebug module. 7 8**Library**: libohhidebug.so 9 10**System capability**: SystemCapability.HiviewDFX.HiProfiler.HiDebug 11 12**Since**: 12 13 14**Related module**: [HiDebug](_hi_debug.md) 15 16 17## Summary 18 19 20### Structs 21 22| Name| Description| 23| -------- | -------- | 24| struct [HiDebug_ThreadCpuUsage](_hi_debug___thread_cpu_usage.md) | Defines the CPU usage of all threads in an application. | 25| struct [HiDebug_SystemMemInfo](_hi_debug___system_mem_info.md) | Defines the system memory information. | 26| struct [HiDebug_NativeMemInfo](_hi_debug___native_mem_info.md) | Defines the local memory information of an application process. | 27| struct [HiDebug_MemoryLimit](_hi_debug___memory_limit.md) | Defines the memory limit of an application process. | 28 29 30### Macros 31 32| Name| Description| 33| -------- | -------- | 34| [HIDEBUG_TRACE_TAG_FFRT](_hi_debug.md#hidebug_trace_tag_ffrt) (1ULL << 13) | Indicates a function flow runtime (FFRT) task. | 35| [HIDEBUG_TRACE_TAG_COMMON_LIBRARY](_hi_debug.md#hidebug_trace_tag_common_library) (1ULL << 16) | Indicates the common library subsystem. | 36| [HIDEBUG_TRACE_TAG_HDF](_hi_debug.md#hidebug_trace_tag_hdf) (1ULL << 18) | Indicates the HDF subsystem. | 37| [HIDEBUG_TRACE_TAG_NET](_hi_debug.md#hidebug_trace_tag_net) (1ULL << 23) | Indicates the Network. | 38| [HIDEBUG_TRACE_TAG_NWEB](_hi_debug.md#hidebug_trace_tag_nweb) (1ULL << 24) | Indicates the NWeb. | 39| [HIDEBUG_TRACE_TAG_DISTRIBUTED_AUDIO](_hi_debug.md#hidebug_trace_tag_distributed_audio) (1ULL << 27) | Indicates the distributed audio. | 40| [HIDEBUG_TRACE_TAG_FILE_MANAGEMENT](_hi_debug.md#hidebug_trace_tag_file_management) (1ULL << 29) | Indicates the file management. | 41| [HIDEBUG_TRACE_TAG_OHOS](_hi_debug.md#hidebug_trace_tag_ohos) (1ULL << 30) | Indicates the OpenHarmony OS. | 42| [HIDEBUG_TRACE_TAG_ABILITY_MANAGER](_hi_debug.md#hidebug_trace_tag_ability_manager) (1ULL << 31) | Indicates the Ability Manager. | 43| [HIDEBUG_TRACE_TAG_CAMERA](_hi_debug.md#hidebug_trace_tag_camera) (1ULL << 32) | Indicates the camera module. | 44| [HIDEBUG_TRACE_TAG_MEDIA](_hi_debug.md#hidebug_trace_tag_media) (1ULL << 33) | Indicates the media module. | 45| [HIDEBUG_TRACE_TAG_IMAGE](_hi_debug.md#hidebug_trace_tag_image) (1ULL << 34) | Indicates the image module. | 46| [HIDEBUG_TRACE_TAG_AUDIO](_hi_debug.md#hidebug_trace_tag_audio) (1ULL << 35) | Indicates the audio module. | 47| [HIDEBUG_TRACE_TAG_DISTRIBUTED_DATA](_hi_debug.md#hidebug_trace_tag_distributed_data) (1ULL << 36) | Indicates the distributed data management. | 48| [HIDEBUG_TRACE_TAG_GRAPHICS](_hi_debug.md#hidebug_trace_tag_graphics) (1ULL << 38) | Indicates the graphics module. | 49| [HIDEBUG_TRACE_TAG_ARKUI](_hi_debug.md#hidebug_trace_tag_arkui) (1ULL << 39) | Indicates the ArkUI development framework. | 50| [HIDEBUG_TRACE_TAG_NOTIFICATION](_hi_debug.md#hidebug_trace_tag_notification) (1ULL << 40) | Indicates the notification module. | 51| [HIDEBUG_TRACE_TAG_MISC](_hi_debug.md#hidebug_trace_tag_misc) (1ULL << 41) | Indicates the MISC module. | 52| [HIDEBUG_TRACE_TAG_MULTIMODAL_INPUT](_hi_debug.md#hidebug_trace_tag_multimodal_input) (1ULL << 42) | Indicates the multimodal input module. | 53| [HIDEBUG_TRACE_TAG_RPC](_hi_debug.md#hidebug_trace_tag_rpc) (1ULL << 46) | Indicates a remote procedure call (RPC). | 54| [HIDEBUG_TRACE_TAG_ARK](_hi_debug.md#hidebug_trace_tag_ark) (1ULL << 47) | Indicates a JavaScript virtual machine (JSVM). | 55| [HIDEBUG_TRACE_TAG_WINDOW_MANAGER](_hi_debug.md#hidebug_trace_tag_window_manager) (1ULL << 48) | Indicates the window manager. | 56| [HIDEBUG_TRACE_TAG_DISTRIBUTED_SCREEN](_hi_debug.md#hidebug_trace_tag_distributed_screen) (1ULL << 50) | Indicates the distributed screen. | 57| [HIDEBUG_TRACE_TAG_DISTRIBUTED_CAMERA](_hi_debug.md#hidebug_trace_tag_distributed_camera) (1ULL << 51) | Indicates the distributed camera. | 58| [HIDEBUG_TRACE_TAG_DISTRIBUTED_HARDWARE_FRAMEWORK](_hi_debug.md#hidebug_trace_tag_distributed_hardware_framework) (1ULL << 52) | Indicates the distributed hardware framework. | 59| [HIDEBUG_TRACE_TAG_GLOBAL_RESOURCE_MANAGER](_hi_debug.md#hidebug_trace_tag_global_resource_manager) (1ULL << 53) | Indicates the global resource management. | 60| [HIDEBUG_TRACE_TAG_DISTRIBUTED_HARDWARE_DEVICE_MANAGER](_hi_debug.md#hidebug_trace_tag_distributed_hardware_device_manager) (1ULL << 54) | Indicates the distributed hardware device management. | 61| [HIDEBUG_TRACE_TAG_SAMGR](_hi_debug.md#hidebug_trace_tag_samgr) (1ULL << 55) | Indicates the Samgr (SA). | 62| [HIDEBUG_TRACE_TAG_POWER_MANAGER](_hi_debug.md#hidebug_trace_tag_power_manager) (1ULL << 56) | Indicates the power manager. | 63| [HIDEBUG_TRACE_TAG_DISTRIBUTED_SCHEDULER](_hi_debug.md#hidebug_trace_tag_distributed_scheduler) (1ULL << 57) | Indicates the distributed scheduler. | 64| [HIDEBUG_TRACE_TAG_DISTRIBUTED_INPUT](_hi_debug.md#hidebug_trace_tag_distributed_input) (1ULL << 59) | Indicates the distributed input. | 65| [HIDEBUG_TRACE_TAG_BLUETOOTH](_hi_debug.md#hidebug_trace_tag_bluetooth) (1ULL << 60) | Indicates the Bluetooth. | 66 67 68### Types 69 70| Name| Description| 71| -------- | -------- | 72| typedef enum [HiDebug_ErrorCode](_hi_debug.md#hidebug_errorcode-1) [HiDebug_ErrorCode](_hi_debug.md#hidebug_errorcode) | Defines an enum for the error codes used in the HiDebug module. | 73| typedef struct [HiDebug_ThreadCpuUsage](_hi_debug___thread_cpu_usage.md) [HiDebug_ThreadCpuUsage](_hi_debug.md#hidebug_threadcpuusage) | Defines a struct for the CPU usage of all threads of an application. | 74| typedef [HiDebug_ThreadCpuUsage](_hi_debug___thread_cpu_usage.md) \* [HiDebug_ThreadCpuUsagePtr](_hi_debug.md#hidebug_threadcpuusageptr) | Defines the pointer to **HiDebug_ThreadCpuUsage**. | 75| typedef struct [HiDebug_SystemMemInfo](_hi_debug___system_mem_info.md) [HiDebug_SystemMemInfo](_hi_debug.md#hidebug_systemmeminfo) | Defines a struct for the system memory information. | 76| typedef struct [HiDebug_NativeMemInfo](_hi_debug___native_mem_info.md) [HiDebug_NativeMemInfo](_hi_debug.md#hidebug_nativememinfo) | Defines a struct for the local memory information of an application process. | 77| typedef struct [HiDebug_MemoryLimit](_hi_debug___memory_limit.md) [HiDebug_MemoryLimit](_hi_debug.md#hidebug_memorylimit) | Defines a struct for the memory limit of an application process. | 78| typedef enum [HiDebug_TraceFlag](_hi_debug.md#hidebug_traceflag-1) [HiDebug_TraceFlag](_hi_debug.md#hidebug_traceflag) | Defines an enum for the thread types for trace collection. | 79 80 81### Enums 82 83| Name| Description| 84| -------- | -------- | 85| [HiDebug_ErrorCode](_hi_debug.md#hidebug_errorcode-1) {<br>HIDEBUG_SUCCESS = 0,<br>HIDEBUG_INVALID_ARGUMENT = 401,<br>HIDEBUG_TRACE_CAPTURED_ALREADY = 11400102,<br>HIDEBUG_NO_PERMISSION = 11400103,<br>HIDEBUG_TRACE_ABNORMAL = 11400104,<br>HIDEBUG_NO_TRACE_RUNNING = 11400105<br>} | Enumerates the error codes used in the HiDebug module. | 86| [HiDebug_TraceFlag](_hi_debug.md#hidebug_traceflag-1) {<br>HIDEBUG_TRACE_FLAG_MAIN_THREAD = 1,<br>HIDEBUG_TRACE_FLAG_ALL_THREADS = 2<br>} | Enumerates the thread types for trace collection. | 87