鸿蒙开发系统基础能力:ohos.hidebug Debug调试

电子说

1.3w人已加入

描述

Debug调试

开发系统说明: 本模块首批接口从API version 8开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 开发前请熟悉鸿蒙开发指导文档 :[gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md]

使用hidebug,可以获取应用内存的使用情况,包括应用进程的静态堆内存(native heap)信息、应用进程内存占用PSS(Proportional Set Size)信息等;可以完成虚拟机内存切片导出,虚拟机CPU Profiling采集等操作。

导入模块

import hidebug from '@ohos.hidebug';

hidebug.getNativeHeapSize

getNativeHeapSize(): bigint

获取native heap内存的总大小。

本接口在OpenHarmony 3.1 Release版本仅为接口定义,暂不支持使用。

系统能力: SystemCapability.HiviewDFX.HiProfiler.HiDebug

返回值:

类型说明
bigint返回native heap内存总大小。

示例:

let nativeHeapSize = hidebug.getNativeHeapSize();

hidebug.getNativeHeapAllocatedSize

getNativeHeapAllocatedSize(): bigint

获取native heap内存的已分配内存大小。

本接口在OpenHarmony 3.1 Release版本仅为接口定义,暂不支持使用。

系统能力: SystemCapability.HiviewDFX.HiProfiler.HiDebug

返回值:

类型说明
bigint返回native heap内存的已分配内存。

示例:

let nativeHeapAllocatedSize = hidebug.getNativeHeapAllocatedSize();

hidebug.getNativeHeapFreeSize

getNativeHeapFreeSize(): bigint

获取native heap内存的空闲内存大小。

本接口在OpenHarmony 3.1 Release版本仅为接口定义,暂不支持使用。

系统能力: SystemCapability.HiviewDFX.HiProfiler.HiDebug

返回值:

类型说明
bigint返回native heap内存的空闲内存。

示例:

let nativeHeapFreeSize = hidebug.getNativeHeapFreeSize();

hidebug.getPss

getPss(): bigint

获取应用进程PSS内存大小。

系统能力: SystemCapability.HiviewDFX.HiProfiler.HiDebug

返回值:

类型说明
bigint返回应用进程PSS内存大小。

示例:

let pss = hidebug.getPss();

hidebug.getSharedDirty

getSharedDirty(): bigint

获取进程的共享脏内存大小。

系统能力: SystemCapability.HiviewDFX.HiProfiler.HiDebug

返回值:

类型说明
bigint返回进程的共享脏内存大小。

示例:

let sharedDirty = hidebug.getSharedDirty();

hidebug.getPrivateDirty9+

getPrivateDirty(): bigint

获取进程的私有脏内存大小。

系统能力: SystemCapability.HiviewDFX.HiProfiler.HiDebug

返回值:

类型说明
bigint返回进程的私有脏内存大小。

示例:

let privateDirty = hidebug.getPrivateDirty();

hidebug.getCpuUsage9+

getCpuUsage(): number

获取进程的cpu占用率。

如占用率为50%,则返回0.5。

系统能力: SystemCapability.HiviewDFX.HiProfiler.HiDebug

返回值:

类型说明
number获取进程的cpu占用率。

示例:

let cpuUsage = hidebug.getCpuUsage();

hidebug.startProfiling

startProfiling(filename : string) : void

启动虚拟机Profiling方法跟踪,startProfiling()方法的调用需要与stopProfiling()方法的调用一一对应,先开启后关闭,严禁使用start->start->stopstart->stop->stopstart->start->stop->stop等顺序的调用方式。

系统能力: SystemCapability.HiviewDFX.HiProfiler.HiDebug

参数:

参数名类型必填说明
filenamestring用户自定义的profiling文件名,根据传入的filename,将在应用的files目录生成filename.json文件。

示例:

hidebug.startProfiling("cpuprofiler-20220216");
// code block
// ...
// code block
hidebug.stopProfiling();

hidebug.stopProfiling

stopProfiling() : void

停止虚拟机Profiling方法跟踪,stopProfiling()方法的调用需要与startProfiling()方法的调用一一对应,先开启后关闭,严禁使用start->start->stopstart->stop->stopstart->start->stop->stop等顺序的调用方式。

系统能力: SystemCapability.HiviewDFX.HiProfiler.HiDebug

示例:

hidebug.startProfiling("cpuprofiler-20220216");
// code block
// ...
// code block
hidebug.stopProfiling();

hidebug.dumpHeapData

dumpHeapData(filename : string) : void

虚拟机堆导出。

系统能力: SystemCapability.HiviewDFX.HiProfiler.HiDebug

参数:

参数名类型必填说明
filenamestring用户自定义的虚拟机堆文件名,根据传入的filename,将在应用的files目录生成filename.heapsnapshot文件。

示例:

hidebug.dumpHeapData("heap-20220216");

hidebug.getServiceDump9+

getServiceDump(serviceid : number) : string

获取系统服务信息。

此接口为系统接口,三方应用不可用。

系统能力: SystemCapability.HiviewDFX.HiProfiler.HiDebug

参数:

参数名类型必填说明
serviceidnumber基于该用户输入的service id获取系统服务信息。

返回值:

类型说明
string返回dump的service信息文件的绝对路径。HarmonyOS与OpenHarmony鸿蒙文档籽料:mau123789是v直接拿

开发系统

示例:

let serviceId = 10;
let pathName = hidebug.getServiceDump(serviceId);

审核编辑 黄宇

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分