harmony 鸿蒙HiDebug

2025-06-16 浏览 (1)

HiDebug

概述

提供调试功能。

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

起始版本: 12

汇总

文件

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

结构体

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

宏定义

名称描述
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 void(* OH_HiDebug_SymbolicAddressCallback) (void *pc, void *arg, const HiDebug_StackFrame *frame)OH_HiDebug_SymbolicAddress接口调用成功,将通过该函数将解析后的栈信息返回给调用者。
typedef enum HiDebug_ErrorCode HiDebug_ErrorCode错误码定义。
typedef struct HiDebug_ThreadCpuUsage HiDebug_ThreadCpuUsage应用程序所有线程的CPU使用率结构体定义。
typedef HiDebug_ThreadCpuUsage * HiDebug_ThreadCpuUsagePtrHiDebug_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线程的类型。
typedef struct HiDebug_JsStackFrame HiDebug_JsStackFramejs栈帧内容的定义。
typedef struct HiDebug_NativeStackFrame HiDebug_NativeStackFramenative栈帧内容的定义。
typedef enum HiDebug_StackFrameType HiDebug_StackFrameType栈帧类型的枚举值定义。
typedef struct HiDebug_StackFrame HiDebug_StackFrame栈帧内容的定义。
typedef struct HiDebug_Backtrace_Object__ * HiDebug_Backtrace_Object用于栈回溯及栈解析的对象。

枚举

名称描述
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_INVALID_SYMBOLIC_PC_ADDRESS = 11400200
}
错误码定义。
HiDebug_TraceFlag { HIDEBUG_TRACE_FLAG_MAIN_THREAD = 1, HIDEBUG_TRACE_FLAG_ALL_THREADS = 2 }采集trace线程的类型。
HiDebug_StackFrameType { HIDEBUG_STACK_FRAME_TYPE_JS = 1, HIDEBUG_STACK_FRAME_TYPE_NATIVE = 2 }栈帧类型的枚举值定义。

函数

名称描述
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_ErrorCode OH_HiDebug_GetGraphicsMemory (uint32_t *value)获取应用gpu显存大小。
int OH_HiDebug_BacktraceFromFp (HiDebug_Backtrace_Object object, void *startFp, void **pcArray, int size)根据给定的fp地址进行栈回溯,该函数异步信号安全。
HiDebug_ErrorCode OH_HiDebug_SymbolicAddress (HiDebug_Backtrace_Object object, void *pc, void *arg, OH_HiDebug_SymbolicAddressCallback callback)通过给定的pc地址获取详细的符号信息,该函数非异步信号安全。
HiDebug_Backtrace_Object OH_HiDebug_CreateBacktraceObject (void)创建一个用于栈回溯及栈解析的对象,该函数非异步信号安全。
void OH_HiDebug_DestroyBacktraceObject (HiDebug_Backtrace_Object object)销毁由OH_HiDebug_CreateBacktraceObject创建的对象,以释放栈回溯及栈解析过程中申请的资源,该函数非异步信号安全。

宏定义说明

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_Backtrace_Object

typedef struct HiDebug_Backtrace_Object__* HiDebug_Backtrace_Object

描述

用于栈回溯及栈解析的对象。

起始版本: 20

HiDebug_ErrorCode

typedef enum HiDebug_ErrorCodeHiDebug_ErrorCode

描述

错误码定义。

起始版本: 12

HiDebug_JsStackFrame

typedef struct HiDebug_JsStackFrameHiDebug_JsStackFrame

描述

js栈帧内容的定义。

起始版本: 20

HiDebug_MemoryLimit

typedef struct HiDebug_MemoryLimitHiDebug_MemoryLimit

描述

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

起始版本: 12

HiDebug_NativeMemInfo

typedef struct HiDebug_NativeMemInfoHiDebug_NativeMemInfo

描述

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

起始版本: 12

HiDebug_NativeStackFrame

typedef struct HiDebug_NativeStackFrameHiDebug_NativeStackFrame

描述

native栈帧内容的定义。

起始版本: 20

HiDebug_StackFrame

typedef struct HiDebug_StackFrameHiDebug_StackFrame

描述

栈帧内容的定义。

起始版本: 20

HiDebug_StackFrameType

typedef enum HiDebug_StackFrameTypeHiDebug_StackFrameType

描述

栈帧类型的枚举值定义。

起始版本: 20

HiDebug_SystemMemInfo

typedef struct HiDebug_SystemMemInfoHiDebug_SystemMemInfo

描述

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

起始版本: 12

HiDebug_ThreadCpuUsage

typedef struct HiDebug_ThreadCpuUsageHiDebug_ThreadCpuUsage

描述

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

起始版本: 12

HiDebug_ThreadCpuUsagePtr

typedef HiDebug_ThreadCpuUsage* HiDebug_ThreadCpuUsagePtr

描述

HiDebug_ThreadCpuUsage指针定义。

起始版本: 12

HiDebug_TraceFlag

typedef enum HiDebug_TraceFlagHiDebug_TraceFlag

描述

采集trace线程的类型。

起始版本: 12

OH_HiDebug_SymbolicAddressCallback

typedef void(* OH_HiDebug_SymbolicAddressCallback) (void *pc, void *arg, const HiDebug_StackFrame *frame)

描述

OH_HiDebug_SymbolicAddress接口调用成功,将通过该函数将解析后的栈信息返回给调用者。

起始版本: 20

参数:

名称描述
pc传入OH_HiDebug_SymbolicAddress接口的需要解析的pc地址。
arg传入OH_HiDebug_SymbolicAddress接口的arg值。
frame由传入OH_HiDebug_SymbolicAddress接口的pc地址解析后的得到栈信息HiDebug_StackFrame指针,该指针指向内容仅在该函数作用域内有效。

枚举类型说明

HiDebug_ErrorCode

enum HiDebug_ErrorCode

描述

错误码定义。

起始版本: 12

枚举值描述
HIDEBUG_SUCCESS成功。
HIDEBUG_INVALID_ARGUMENT无效参数,可能的原因: 1.参数传值问题;2.参数类型问题。
HIDEBUG_TRACE_CAPTURED_ALREADY重复采集。
HIDEBUG_NO_PERMISSION没有写文件的权限。
HIDEBUG_TRACE_ABNORMAL系统内部错误。
HIDEBUG_NO_TRACE_RUNNING当前没有trace正在运行。
HIDEBUG_INVALID_SYMBOLIC_PC_ADDRESS传入符号解析函数的pc地址是无效的。
自从
20

HiDebug_StackFrameType

enum HiDebug_StackFrameType

描述

栈帧类型的枚举值定义。

起始版本: 20

枚举值描述
HIDEBUG_STACK_FRAME_TYPE_JSjs类型栈帧。
HIDEBUG_STACK_FRAME_TYPE_NATIVEnative类型栈帧。

HiDebug_TraceFlag

enum HiDebug_TraceFlag

描述

采集trace线程的类型。

起始版本: 12

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

函数说明

OH_HiDebug_BacktraceFromFp()

int OH_HiDebug_BacktraceFromFp (HiDebug_Backtrace_Object object, void * startFp, void ** pcArray, int size )

描述

根据给定的fp地址进行栈回溯,该函数异步信号安全。

起始版本: 20

参数:

名称描述
objectOH_HiDebug_CreateBacktraceObject接口获取到的用来栈回溯的对象。
startFp栈回溯的起始栈帧地址。
pcArray保存栈回溯得到的pc地址的数组。
size保存栈回溯得到的pc地址的数组长度。

返回:

成功回溯并写入到pcArray中的栈帧数量。如果返回结果为0,原因可能是栈回溯失败。

OH_HiDebug_CreateBacktraceObject()

HiDebug_Backtrace_Object OH_HiDebug_CreateBacktraceObject (void )

描述

创建一个用于栈回溯及栈解析的对象,该函数非异步信号安全。

起始版本: 20

返回:

返回创建的对象的指针,当创建失败时返回NULL。

OH_HiDebug_DestroyBacktraceObject()

void OH_HiDebug_DestroyBacktraceObject (HiDebug_Backtrace_Object object)

描述

销毁由OH_HiDebug_CreateBacktraceObject创建的对象,以释放栈回溯及栈解析过程中申请的资源,该函数非异步信号安全。

起始版本: 20

参数:

名称描述
object需要被销毁的对象。

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,可能的原因是当前应用的cpu使用率过低。

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_GetGraphicsMemory()

HiDebug_ErrorCode OH_HiDebug_GetGraphicsMemory (uint32_t * value)

描述

获取应用gpu显存大小。

起始版本: 14

参数:

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

返回:

0 - 接口获取成功。

401 - 无效参数,所传递参数为空指针。

11400104 - 系统内部错误。

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场景标签。
limitSizetrace文件的最大大小(以字节为单位),最大为 500MB。
fileName输出trace文件名缓冲区。
length输出trace文件名缓冲区长度。

返回:

0 - 成功。

HIDEBUG_INVALID_ARGUMENT 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_SymbolicAddress()

HiDebug_ErrorCode OH_HiDebug_SymbolicAddress (HiDebug_Backtrace_Object object, void * pc, void * arg, OH_HiDebug_SymbolicAddressCallback callback )

描述

通过给定的pc地址获取详细的符号信息,该函数非异步信号安全。

起始版本: 20

参数:

名称描述
objectOH_HiDebug_CreateBacktraceObject接口创建的对象。
pcOH_HiDebug_BacktraceFromFp接口获取到的pc地址。
arg保留的自定义参数,符号解析成功后系统内部会将该参数传递给回调函数OH_HiDebug_SymbolicAddressCallback
callback用于返回解析后栈信息的回调函数。

返回:

返回结果具体可参考HiDebug_ErrorCode: HIDEBUG_SUCCESS 成功获取到详细的栈信息,且该函数传入的callback被调用。

HIDEBUG_INVALID_ARGUMENT 无效参数。

HIDEBUG_INVALID_SYMBOLIC_PC_ADDRESS 无法根据传入的pc地址找到对应的符号。

你可能感兴趣的鸿蒙文章

harmony 鸿蒙Performance Analysis Kit(性能分析服务)

harmony 鸿蒙HiAppEvent

harmony 鸿蒙HiAppEvent_AppEventGroup

harmony 鸿蒙HiAppEvent_AppEventInfo

harmony 鸿蒙HiCollie

harmony 鸿蒙HiCollie_DetectionParam

harmony 鸿蒙HiCollie_SetTimerParam

harmony 鸿蒙HiDebug_JsStackFrame

harmony 鸿蒙HiDebug_MemoryLimit

harmony 鸿蒙HiDebug_NativeMemInfo

  • 所属分类: 后端技术
  • 本文标签: 鸿蒙 软件
  • 版权声明: 本文链接 https://seaxiang.com/blog/yTcu6D