HiDebug

概述

提供调试功能。

本模块函数可用于获取 cpu uage、memory、heap、capture trace等。

起始版本: 12

汇总

文件

名称 描述
hidebug.h 定义HiDebug模块的调试功能。
hidebug_type.h HiDebug模块代码结构体定义。

结构体

名称 描述
struct HiDebug_ThreadCpuUsage 应用程序所有线程的CPU使用率结构体定义。
struct HiDebug_SystemMemInfo 系统内存信息结构类型定义。
struct HiDebug_NativeMemInfo 应用程序进程本机内存信息结构类型定义。
struct HiDebug_MemoryLimit 应用程序进程内存限制结构类型定义。

宏定义

名称 描述
HIDEBUG_TRACE_TAG_FFRT (1ULL << 13) FFRT任务标签。
HIDEBUG_TRACE_TAG_COMMON_LIBRARY (1ULL << 16) 公共库子系统标签。
HIDEBUG_TRACE_TAG_HDF (1ULL << 18) HDF子系统标签。
HIDEBUG_TRACE_TAG_NET (1ULL << 23) 网络标签。
HIDEBUG_TRACE_TAG_NWEB (1ULL << 24) NWeb标签。
HIDEBUG_TRACE_TAG_DISTRIBUTED_AUDIO (1ULL << 27) 分布式音频标签。
HIDEBUG_TRACE_TAG_FILE_MANAGEMENT (1ULL << 29) 文件管理标签。
HIDEBUG_TRACE_TAG_OHOS (1ULL << 30) OHOS通用标签。
HIDEBUG_TRACE_TAG_ABILITY_MANAGER (1ULL << 31) Ability Manager标签。
HIDEBUG_TRACE_TAG_CAMERA (1ULL << 32) 相机模块标签。
HIDEBUG_TRACE_TAG_MEDIA (1ULL << 33) 媒体模块标签。
HIDEBUG_TRACE_TAG_IMAGE (1ULL << 34) 图像模块标签。
HIDEBUG_TRACE_TAG_AUDIO (1ULL << 35) 音频模块标签。
HIDEBUG_TRACE_TAG_DISTRIBUTED_DATA (1ULL << 36) 分布式数据管理器模块标签。
HIDEBUG_TRACE_TAG_GRAPHICS (1ULL << 38) 图形模块标签。
HIDEBUG_TRACE_TAG_ARKUI (1ULL << 39) ArkUI开发框架标签。
HIDEBUG_TRACE_TAG_NOTIFICATION (1ULL << 40) 通知模块标签。
HIDEBUG_TRACE_TAG_MISC (1ULL << 41) MISC模块标签。
HIDEBUG_TRACE_TAG_MULTIMODAL_INPUT (1ULL << 42) 多模态输入模块标签。
HIDEBUG_TRACE_TAG_RPC (1ULL << 46) RPC标签。
HIDEBUG_TRACE_TAG_ARK (1ULL << 47) JSVM虚拟机标签。
HIDEBUG_TRACE_TAG_WINDOW_MANAGER (1ULL << 48) 窗口管理器标签。
HIDEBUG_TRACE_TAG_DISTRIBUTED_SCREEN (1ULL << 50) 分布式屏幕标签。
HIDEBUG_TRACE_TAG_DISTRIBUTED_CAMERA (1ULL << 51) 分布式相机标签。
HIDEBUG_TRACE_TAG_DISTRIBUTED_HARDWARE_FRAMEWORK (1ULL << 52) 分布式硬件框架标签。
HIDEBUG_TRACE_TAG_GLOBAL_RESOURCE_MANAGER (1ULL << 53) 全局资源管理器标签。
HIDEBUG_TRACE_TAG_DISTRIBUTED_HARDWARE_DEVICE_MANAGER (1ULL << 54) 分布式硬件设备管理器标签。
HIDEBUG_TRACE_TAG_SAMGR (1ULL << 55) SA标签。
HIDEBUG_TRACE_TAG_POWER_MANAGER (1ULL << 56) 电源管理器标签。
HIDEBUG_TRACE_TAG_DISTRIBUTED_SCHEDULER (1ULL << 57) 分布式调度程序标签。
HIDEBUG_TRACE_TAG_DISTRIBUTED_INPUT (1ULL << 59) 分布式输入标签。
HIDEBUG_TRACE_TAG_BLUETOOTH (1ULL << 60) 蓝牙标签。

类型定义

名称 描述
typedef enum HiDebug_ErrorCode HiDebug_ErrorCode 错误码定义。
typedef struct HiDebug_ThreadCpuUsage HiDebug_ThreadCpuUsage 应用程序所有线程的CPU使用率结构体定义。
typedef HiDebug_ThreadCpuUsage * HiDebug_ThreadCpuUsagePtr HiDebug_ThreadCpuUsage指针定义。
typedef struct HiDebug_SystemMemInfo HiDebug_SystemMemInfo 系统内存信息结构类型定义。
typedef struct HiDebug_NativeMemInfo HiDebug_NativeMemInfo 应用程序进程本机内存信息结构类型定义。
typedef struct HiDebug_MemoryLimit HiDebug_MemoryLimit 应用程序进程内存限制结构类型定义。
typedef enum HiDebug_TraceFlag HiDebug_TraceFlag 采集trace线程的类型。

枚举

名称 描述
HiDebug_ErrorCode {
HIDEBUG_SUCCESS = 0,
HIDEBUG_INVALID_ARGUMENT = 401,
HIDEBUG_TRACE_CAPTURED_ALREADY = 11400102,
HIDEBUG_NO_PERMISSION = 11400103,
HIDEBUG_TRACE_ABNORMAL = 11400104,
HIDEBUG_NO_TRACE_RUNNING = 11400105
}
错误码定义。
HiDebug_TraceFlag {
HIDEBUG_TRACE_FLAG_MAIN_THREAD = 1, HIDEBUG_TRACE_FLAG_ALL_THREADS = 2
}
采集trace线程的类型。

函数

名称 描述
double OH_HiDebug_GetSystemCpuUsage () 获取系统的CPU资源占用情况百分比。
double OH_HiDebug_GetAppCpuUsage () 获取进程的CPU使用率百分比。
HiDebug_ThreadCpuUsagePtr OH_HiDebug_GetAppThreadCpuUsage () 获取应用所有线程CPU使用情况。
void OH_HiDebug_FreeThreadCpuUsage (HiDebug_ThreadCpuUsagePtr *threadCpuUsage) 释放线程数据结构。
void OH_HiDebug_GetSystemMemInfo (HiDebug_SystemMemInfo *systemMemInfo) 获取系统内存信息。
void OH_HiDebug_GetAppNativeMemInfo (HiDebug_NativeMemInfo *nativeMemInfo) 获取应用程序进程的内存信息。
void OH_HiDebug_GetAppMemoryLimit (HiDebug_MemoryLimit *memoryLimit) 获取应用程序进程的内存限制。
HiDebug_ErrorCode OH_HiDebug_StartAppTraceCapture (HiDebug_TraceFlag flag, uint64_t tags, uint32_t limitSize, char *fileName, uint32_t length) 启动应用trace采集。
HiDebug_ErrorCode OH_HiDebug_StopAppTraceCapture () 停止采集应用程序trace。

宏定义说明

HIDEBUG_TRACE_TAG_ABILITY_MANAGER

#define HIDEBUG_TRACE_TAG_ABILITY_MANAGER   (1ULL << 31)

描述

Ability Manager标签。

起始版本: 12

HIDEBUG_TRACE_TAG_ARK

#define HIDEBUG_TRACE_TAG_ARK   (1ULL << 47)

描述

JSVM虚拟机标签。

起始版本: 12

HIDEBUG_TRACE_TAG_ARKUI

#define HIDEBUG_TRACE_TAG_ARKUI   (1ULL << 39)

描述

ArkUI开发框架标签。

起始版本: 12

HIDEBUG_TRACE_TAG_AUDIO

#define HIDEBUG_TRACE_TAG_AUDIO   (1ULL << 35)

描述

音频模块标签。

起始版本: 12

HIDEBUG_TRACE_TAG_BLUETOOTH

#define HIDEBUG_TRACE_TAG_BLUETOOTH   (1ULL << 60)

描述

蓝牙标签。

起始版本: 12

HIDEBUG_TRACE_TAG_CAMERA

#define HIDEBUG_TRACE_TAG_CAMERA   (1ULL << 32)

描述

相机模块标签。

起始版本: 12

HIDEBUG_TRACE_TAG_COMMON_LIBRARY

#define HIDEBUG_TRACE_TAG_COMMON_LIBRARY   (1ULL << 16)

描述

公共库子系统标签。

起始版本: 12

HIDEBUG_TRACE_TAG_DISTRIBUTED_AUDIO

#define HIDEBUG_TRACE_TAG_DISTRIBUTED_AUDIO   (1ULL << 27)

描述

分布式音频标签。

起始版本: 12

HIDEBUG_TRACE_TAG_DISTRIBUTED_CAMERA

#define HIDEBUG_TRACE_TAG_DISTRIBUTED_CAMERA   (1ULL << 51)

描述

分布式相机标签。

起始版本: 12

HIDEBUG_TRACE_TAG_DISTRIBUTED_DATA

#define HIDEBUG_TRACE_TAG_DISTRIBUTED_DATA   (1ULL << 36)

描述

分布式数据管理器模块标签。

起始版本: 12

HIDEBUG_TRACE_TAG_DISTRIBUTED_HARDWARE_DEVICE_MANAGER

#define HIDEBUG_TRACE_TAG_DISTRIBUTED_HARDWARE_DEVICE_MANAGER   (1ULL << 54)

描述

分布式硬件设备管理器标签。

起始版本: 12

HIDEBUG_TRACE_TAG_DISTRIBUTED_HARDWARE_FRAMEWORK

#define HIDEBUG_TRACE_TAG_DISTRIBUTED_HARDWARE_FRAMEWORK   (1ULL << 52)

描述

分布式硬件框架标签。

起始版本: 12

HIDEBUG_TRACE_TAG_DISTRIBUTED_INPUT

#define HIDEBUG_TRACE_TAG_DISTRIBUTED_INPUT   (1ULL << 59)

描述

分布式输入标签。

起始版本: 12

HIDEBUG_TRACE_TAG_DISTRIBUTED_SCHEDULER

#define HIDEBUG_TRACE_TAG_DISTRIBUTED_SCHEDULER   (1ULL << 57)

描述

分布式调度程序标签。

起始版本: 12

HIDEBUG_TRACE_TAG_DISTRIBUTED_SCREEN

#define HIDEBUG_TRACE_TAG_DISTRIBUTED_SCREEN   (1ULL << 50)

描述

分布式屏幕标签。

起始版本: 12

HIDEBUG_TRACE_TAG_FFRT

#define HIDEBUG_TRACE_TAG_FFRT   (1ULL << 13)

描述

FFRT任务标签。

起始版本: 12

HIDEBUG_TRACE_TAG_FILE_MANAGEMENT

#define HIDEBUG_TRACE_TAG_FILE_MANAGEMENT   (1ULL << 29)

描述

文件管理标签。

起始版本: 12

HIDEBUG_TRACE_TAG_GLOBAL_RESOURCE_MANAGER

#define HIDEBUG_TRACE_TAG_GLOBAL_RESOURCE_MANAGER   (1ULL << 53)

描述

全局资源管理器标签。

起始版本: 12

HIDEBUG_TRACE_TAG_GRAPHICS

#define HIDEBUG_TRACE_TAG_GRAPHICS   (1ULL << 38)

描述

图形模块标签。

起始版本: 12

HIDEBUG_TRACE_TAG_HDF

#define HIDEBUG_TRACE_TAG_HDF   (1ULL << 18)

描述

HDF子系统标签。

起始版本: 12

HIDEBUG_TRACE_TAG_IMAGE

#define HIDEBUG_TRACE_TAG_IMAGE   (1ULL << 34)

描述

图像模块标签。

起始版本: 12

HIDEBUG_TRACE_TAG_MEDIA

#define HIDEBUG_TRACE_TAG_MEDIA   (1ULL << 33)

描述

媒体模块标签。

起始版本: 12

HIDEBUG_TRACE_TAG_MISC

#define HIDEBUG_TRACE_TAG_MISC   (1ULL << 41)

描述

MISC模块标签。

起始版本: 12

HIDEBUG_TRACE_TAG_MULTIMODAL_INPUT

#define HIDEBUG_TRACE_TAG_MULTIMODAL_INPUT   (1ULL << 42)

描述

多模态输入模块标签。

起始版本: 12

HIDEBUG_TRACE_TAG_NET

#define HIDEBUG_TRACE_TAG_NET   (1ULL << 23)

描述

网络标签。

起始版本: 12

HIDEBUG_TRACE_TAG_NOTIFICATION

#define HIDEBUG_TRACE_TAG_NOTIFICATION   (1ULL << 40)

描述

通知模块标签。

起始版本: 12

HIDEBUG_TRACE_TAG_NWEB

#define HIDEBUG_TRACE_TAG_NWEB   (1ULL << 24)

描述

NWeb标签。

起始版本: 12

HIDEBUG_TRACE_TAG_OHOS

#define HIDEBUG_TRACE_TAG_OHOS   (1ULL << 30)

描述

OHOS通用标签。

起始版本: 12

HIDEBUG_TRACE_TAG_POWER_MANAGER

#define HIDEBUG_TRACE_TAG_POWER_MANAGER   (1ULL << 56)

描述

电源管理器标签。

起始版本: 12

HIDEBUG_TRACE_TAG_RPC

#define HIDEBUG_TRACE_TAG_RPC   (1ULL << 46)

描述

RPC标签。

起始版本: 12

HIDEBUG_TRACE_TAG_SAMGR

#define HIDEBUG_TRACE_TAG_SAMGR   (1ULL << 55)

描述

SA标签。

起始版本: 12

HIDEBUG_TRACE_TAG_WINDOW_MANAGER

#define HIDEBUG_TRACE_TAG_WINDOW_MANAGER   (1ULL << 48)

描述

窗口管理器标签。

起始版本: 12

类型定义说明

HiDebug_ErrorCode

typedef enum HiDebug_ErrorCode HiDebug_ErrorCode

描述

错误码定义。

起始版本: 12

HiDebug_MemoryLimit

typedef struct HiDebug_MemoryLimit HiDebug_MemoryLimit

描述

应用程序进程内存限制结构类型定义。

起始版本: 12

HiDebug_NativeMemInfo

typedef struct HiDebug_NativeMemInfo HiDebug_NativeMemInfo

描述

应用程序进程本机内存信息结构类型定义。

起始版本: 12

HiDebug_SystemMemInfo

typedef struct HiDebug_SystemMemInfo HiDebug_SystemMemInfo

描述

系统内存信息结构类型定义。

起始版本: 12

HiDebug_ThreadCpuUsage

typedef struct HiDebug_ThreadCpuUsage HiDebug_ThreadCpuUsage

描述

应用程序所有线程的CPU使用率结构体定义。

起始版本: 12

HiDebug_ThreadCpuUsagePtr

typedef HiDebug_ThreadCpuUsage* HiDebug_ThreadCpuUsagePtr

描述

HiDebug_ThreadCpuUsage指针定义。

起始版本: 12

HiDebug_TraceFlag

typedef enum HiDebug_TraceFlag HiDebug_TraceFlag

描述

采集trace线程的类型。

起始版本: 12

枚举类型说明

HiDebug_ErrorCode

enum HiDebug_ErrorCode

描述

错误码定义。

起始版本: 12

枚举值 描述
HIDEBUG_SUCCESS 成功
HIDEBUG_INVALID_ARGUMENT 无效参数,可能的原因: 1.参数传值问题 2.参数类型问题
HIDEBUG_TRACE_CAPTURED_ALREADY 重复采集
HIDEBUG_NO_PERMISSION 没有写文件的权限
HIDEBUG_TRACE_ABNORMAL trace状态异常

HiDebug_TraceFlag

enum HiDebug_TraceFlag

描述

采集trace线程的类型。

起始版本: 12

枚举值 描述
HIDEBUG_TRACE_FLAG_MAIN_THREAD 只采集当前应用主线程
HIDEBUG_TRACE_FLAG_ALL_THREADS 采集当前应用下所有线程

函数说明

OH_HiDebug_FreeThreadCpuUsage()

void OH_HiDebug_FreeThreadCpuUsage (HiDebug_ThreadCpuUsagePtr * threadCpuUsage)

描述

释放线程数据结构。

起始版本: 12

参数:

名称 描述
threadCpuUsage 应用的所有线程可用CPU使用缓冲区指针,见HiDebug_ThreadCpuUsagePtr。 传入的参数是要由OH_HiDebug_GetAppThreadCpuUsage()得到的。

OH_HiDebug_GetAppCpuUsage()

double OH_HiDebug_GetAppCpuUsage ()

描述

获取进程的CPU使用率百分比。

起始版本: 12

返回:

返回进程的CPU使用率百分比。如果返回结果为0,可能的原因是获取失败。

OH_HiDebug_GetAppMemoryLimit()

void OH_HiDebug_GetAppMemoryLimit (HiDebug_MemoryLimit * memoryLimit)

描述

获取应用程序进程的内存限制。

起始版本: 12

参数:

名称 描述
memoryLimit 表示指向HiDebug_MemoryLimit。经过该函数调用,如果结构体里的数据为空,说明调用失败。

OH_HiDebug_GetAppNativeMemInfo()

void OH_HiDebug_GetAppNativeMemInfo (HiDebug_NativeMemInfo * nativeMemInfo)

描述

获取应用程序进程的内存信息。

起始版本: 12

参数:

名称 描述
nativeMemInfo 表示指向HiDebug_NativeMemInfo。经过该函数调用,如果结构体里的数据为空,说明调用失败。

OH_HiDebug_GetAppThreadCpuUsage()

HiDebug_ThreadCpuUsagePtr OH_HiDebug_GetAppThreadCpuUsage ()

描述

获取应用所有线程CPU使用情况。

起始版本: 12

返回:

返回所有线程CPU使用情况,见HiDebug_ThreadCpuUsagePtr。如果返回的结果是null,说明调用失败。

OH_HiDebug_GetSystemCpuUsage()

double OH_HiDebug_GetSystemCpuUsage ()

描述

获取系统的CPU资源占用情况百分比。

起始版本: 12

返回:

返回系统CPU资源占用情况百分比。如果返回结果为0,可能的原因是获取失败。

OH_HiDebug_GetSystemMemInfo()

void OH_HiDebug_GetSystemMemInfo (HiDebug_SystemMemInfo * systemMemInfo)

描述

获取系统内存信息。

起始版本: 12

参数:

名称 描述
systemMemInfo 表示指向HiDebug_SystemMemInfo。经过该函数调用,如果结构体里的数据为空,说明调用失败。

OH_HiDebug_StartAppTraceCapture()

HiDebug_ErrorCode OH_HiDebug_StartAppTraceCapture (HiDebug_TraceFlag flag, uint64_t tags, uint32_t limitSize, char * fileName, uint32_t length )

描述

启动应用trace采集。

起始版本: 12

参数:

名称 描述
flag 采集线程trace方式。
tags 采集trace场景标签。
limitSize trace文件的最大大小(以字节为单位),最大为 500MB。
fileName 输出trace文件名缓冲区。
length 输出trace文件名缓冲区长度。

返回:

0 - 成功。 401 - fileName参数为空指针或者传入的length参数过小或者limitSize参数小于等于0。 11400102 - 已经开启了一个trace。 11400103 - 没有权限去开启trace。 11400104 - 系统内部错误。

OH_HiDebug_StopAppTraceCapture()

HiDebug_ErrorCode OH_HiDebug_StopAppTraceCapture ()

描述

停止采集应用程序trace。

起始版本: 12

返回:

0 - 成功 11400104 - 系统内部的原因 11400105 - 没有trace正在采集。

OH_HiDebug_GetGraphicsMemory();

HiDebug_ErrorCode OH_HiDebug_GetGraphicsMemory(uint32_t *value);

描述

获取应用gpu显存大小。

起始版本: 14

参数:

名称 描述
value 指向用来保存接口获取到的应用显存大小(单位KB)的变量的指针。

返回:

0 - 成功 401 - 传入参数无效 11400104 - 系统内部异常。