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->stop
,start->stop->stop
,start->start->stop->stop
等順序的調用方式。
系統能力: SystemCapability.HiviewDFX.HiProfiler.HiDebug
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
filename | string | 是 | 用戶自定義的profiling文件名,根據傳入的filename ,將在應用的files 目錄生成filename.json 文件。 |
示例:
hidebug.startProfiling("cpuprofiler-20220216");
// code block
// ...
// code block
hidebug.stopProfiling();
hidebug.stopProfiling
stopProfiling() : void
停止虛擬機Profiling方法跟蹤,stopProfiling()
方法的調用需要與startProfiling()
方法的調用一一對應,先開啟后關閉,嚴禁使用start->start->stop
,start->stop->stop
,start->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
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
filename | string | 是 | 用戶自定義的虛擬機堆文件名,根據傳入的filename ,將在應用的files 目錄生成filename.heapsnapshot 文件。 |
示例:
hidebug.dumpHeapData("heap-20220216");
hidebug.getServiceDump9+
getServiceDump(serviceid : number) : string
獲取系統服務信息。
此接口為系統接口,三方應用不可用。
系統能力: SystemCapability.HiviewDFX.HiProfiler.HiDebug
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
serviceid | number | 是 | 基于該用戶輸入的service id獲取系統服務信息。 |
返回值:
類型 | 說明 |
---|---|
string | 返回dump的service信息文件的絕對路徑。HarmonyOS與OpenHarmony鴻蒙文檔籽料:mau123789是v直接拿 |
示例:
let serviceId = 10;
let pathName = hidebug.getServiceDump(serviceId);
審核編輯 黃宇
-
調試
+關注
關注
7文章
602瀏覽量
34397 -
開發系統
+關注
關注
0文章
38瀏覽量
9915 -
DEBUG
+關注
關注
3文章
94瀏覽量
20291 -
鴻蒙
+關注
關注
57文章
2465瀏覽量
43621
發布評論請先 登錄
相關推薦
評論