Debug調(diào)試
說明: 本模塊首批接口從API version 8開始支持。后續(xù)版本的新增接口,采用上角標(biāo)單獨(dú)標(biāo)記接口的起始版本。 開發(fā)前請熟悉鴻蒙開發(fā)指導(dǎo)文檔 :[
gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md
]
使用hidebug,可以獲取應(yīng)用內(nèi)存的使用情況,包括應(yīng)用進(jìn)程的靜態(tài)堆內(nèi)存(native heap)信息、應(yīng)用進(jìn)程內(nèi)存占用PSS(Proportional Set Size)信息等;可以完成虛擬機(jī)內(nèi)存切片導(dǎo)出,虛擬機(jī)CPU Profiling采集等操作。
導(dǎo)入模塊
import hidebug from '@ohos.hidebug';
hidebug.getNativeHeapSize
getNativeHeapSize(): bigint
獲取native heap內(nèi)存的總大小。
本接口在OpenHarmony 3.1 Release版本僅為接口定義,暫不支持使用。
系統(tǒng)能力: SystemCapability.HiviewDFX.HiProfiler.HiDebug
返回值:
類型 | 說明 |
---|---|
bigint | 返回native heap內(nèi)存總大小。 |
示例:
let nativeHeapSize = hidebug.getNativeHeapSize();
hidebug.getNativeHeapAllocatedSize
getNativeHeapAllocatedSize(): bigint
獲取native heap內(nèi)存的已分配內(nèi)存大小。
本接口在OpenHarmony 3.1 Release版本僅為接口定義,暫不支持使用。
系統(tǒng)能力: SystemCapability.HiviewDFX.HiProfiler.HiDebug
返回值:
類型 | 說明 |
---|---|
bigint | 返回native heap內(nèi)存的已分配內(nèi)存。 |
示例:
let nativeHeapAllocatedSize = hidebug.getNativeHeapAllocatedSize();
hidebug.getNativeHeapFreeSize
getNativeHeapFreeSize(): bigint
獲取native heap內(nèi)存的空閑內(nèi)存大小。
本接口在OpenHarmony 3.1 Release版本僅為接口定義,暫不支持使用。
系統(tǒng)能力: SystemCapability.HiviewDFX.HiProfiler.HiDebug
返回值:
類型 | 說明 |
---|---|
bigint | 返回native heap內(nèi)存的空閑內(nèi)存。 |
示例:
let nativeHeapFreeSize = hidebug.getNativeHeapFreeSize();
hidebug.getPss
getPss(): bigint
獲取應(yīng)用進(jìn)程PSS內(nèi)存大小。
系統(tǒng)能力: SystemCapability.HiviewDFX.HiProfiler.HiDebug
返回值:
類型 | 說明 |
---|---|
bigint | 返回應(yīng)用進(jìn)程PSS內(nèi)存大小。 |
示例:
let pss = hidebug.getPss();
hidebug.getSharedDirty
getSharedDirty(): bigint
獲取進(jìn)程的共享臟內(nèi)存大小。
系統(tǒng)能力: SystemCapability.HiviewDFX.HiProfiler.HiDebug
返回值:
類型 | 說明 |
---|---|
bigint | 返回進(jìn)程的共享臟內(nèi)存大小。 |
示例:
let sharedDirty = hidebug.getSharedDirty();
hidebug.getPrivateDirty9+
getPrivateDirty(): bigint
獲取進(jìn)程的私有臟內(nèi)存大小。
系統(tǒng)能力: SystemCapability.HiviewDFX.HiProfiler.HiDebug
返回值:
類型 | 說明 |
---|---|
bigint | 返回進(jìn)程的私有臟內(nèi)存大小。 |
示例:
let privateDirty = hidebug.getPrivateDirty();
hidebug.getCpuUsage9+
getCpuUsage(): number
獲取進(jìn)程的cpu占用率。
如占用率為50%,則返回0.5。
系統(tǒng)能力: SystemCapability.HiviewDFX.HiProfiler.HiDebug
返回值:
類型 | 說明 |
---|---|
number | 獲取進(jìn)程的cpu占用率。 |
示例:
let cpuUsage = hidebug.getCpuUsage();
hidebug.startProfiling
startProfiling(filename : string) : void
啟動虛擬機(jī)Profiling方法跟蹤,startProfiling()
方法的調(diào)用需要與stopProfiling()
方法的調(diào)用一一對應(yīng),先開啟后關(guān)閉,嚴(yán)禁使用start->start->stop
,start->stop->stop
,start->start->stop->stop
等順序的調(diào)用方式。
系統(tǒng)能力: SystemCapability.HiviewDFX.HiProfiler.HiDebug
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
filename | string | 是 | 用戶自定義的profiling文件名,根據(jù)傳入的filename ,將在應(yīng)用的files 目錄生成filename.json 文件。 |
示例:
hidebug.startProfiling("cpuprofiler-20220216");
// code block
// ...
// code block
hidebug.stopProfiling();
hidebug.stopProfiling
stopProfiling() : void
停止虛擬機(jī)Profiling方法跟蹤,stopProfiling()
方法的調(diào)用需要與startProfiling()
方法的調(diào)用一一對應(yīng),先開啟后關(guān)閉,嚴(yán)禁使用start->start->stop
,start->stop->stop
,start->start->stop->stop
等順序的調(diào)用方式。
系統(tǒng)能力: SystemCapability.HiviewDFX.HiProfiler.HiDebug
示例:
hidebug.startProfiling("cpuprofiler-20220216");
// code block
// ...
// code block
hidebug.stopProfiling();
hidebug.dumpHeapData
dumpHeapData(filename : string) : void
虛擬機(jī)堆導(dǎo)出。
系統(tǒng)能力: SystemCapability.HiviewDFX.HiProfiler.HiDebug
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
filename | string | 是 | 用戶自定義的虛擬機(jī)堆文件名,根據(jù)傳入的filename ,將在應(yīng)用的files 目錄生成filename.heapsnapshot 文件。 |
示例:
hidebug.dumpHeapData("heap-20220216");
hidebug.getServiceDump9+
getServiceDump(serviceid : number) : string
獲取系統(tǒng)服務(wù)信息。
此接口為系統(tǒng)接口,三方應(yīng)用不可用。
系統(tǒng)能力: SystemCapability.HiviewDFX.HiProfiler.HiDebug
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
serviceid | number | 是 | 基于該用戶輸入的service id獲取系統(tǒng)服務(wù)信息。 |
返回值:
類型 | 說明 |
---|---|
string | 返回dump的service信息文件的絕對路徑。HarmonyOS與OpenHarmony鴻蒙文檔籽料:mau123789是v直接拿 |
示例:
let serviceId = 10;
let pathName = hidebug.getServiceDump(serviceId);
審核編輯 黃宇
-
調(diào)試
+關(guān)注
關(guān)注
7文章
612瀏覽量
34739 -
開發(fā)系統(tǒng)
+關(guān)注
關(guān)注
0文章
38瀏覽量
10067 -
DEBUG
+關(guān)注
關(guān)注
3文章
95瀏覽量
20569 -
鴻蒙
+關(guān)注
關(guān)注
60文章
2621瀏覽量
44066
發(fā)布評論請先 登錄
鴻蒙Flutter實(shí)戰(zhàn):08-如何調(diào)試代碼
鴻蒙Flutter實(shí)戰(zhàn):12-使用模擬器開發(fā)調(diào)試
用鴻蒙開發(fā)AI應(yīng)用方案(四)Helloworld
鴻蒙原生應(yīng)用/元服務(wù)開發(fā)-Stage模型能力接口(二)
鴻蒙原生應(yīng)用/元服務(wù)開發(fā)-Stage模型能力接口(四)
鴻蒙原生應(yīng)用/元服務(wù)開發(fā)-Stage模型能力接口(五)
鴻蒙原生應(yīng)用/元服務(wù)開發(fā)-Stage模型能力接口(七)
鴻蒙原生應(yīng)用/元服務(wù)開發(fā)-Stage模型能力接口(八)
鴻蒙系統(tǒng)是基于什么開發(fā)的
STM32(Cortex-M)內(nèi)核DEBUG調(diào)試接口知識

Fusion Debug調(diào)試系統(tǒng)的各項(xiàng)技術(shù)、指標(biāo)介紹
DevEco Studio 4.1帶來多種調(diào)試能力,助力鴻蒙原生應(yīng)用開發(fā)高效調(diào)試
鴻蒙開發(fā)系統(tǒng)基礎(chǔ)能力:ohos.hilog 日志打印
鴻蒙開發(fā)系統(tǒng)基礎(chǔ)能力:ohos.pasteboard 剪貼板

評論