• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# HiDebug
2
3
4## 概述
5
6提供调试功能。
7
8提供调试代码的定义。
9
10本模块函数可用于获取cpu uage、memory、heap、capture trace等。
11
12**起始版本:** 12
13
14
15## 汇总
16
17
18### 文件
19
20| 名称 | 描述 |
21| -------- | -------- |
22| [hidebug.h](hidebug_8h.md) | 定义HiDebug模块的调试功能。 |
23| [hidebug_type.h](hidebug__type_8h.md) | HiDebug模块代码结构体定义。 |
24
25
26### 结构体
27
28| 名称 | 描述 |
29| -------- | -------- |
30| struct  [HiDebug_ThreadCpuUsage](_hi_debug___thread_cpu_usage.md) | 应用程序所有线程的CPU使用率结构体定义。  |
31| struct  [HiDebug_SystemMemInfo](_hi_debug___system_mem_info.md) | 系统内存信息结构类型定义。  |
32| struct  [HiDebug_NativeMemInfo](_hi_debug___native_mem_info.md) | 应用程序进程本机内存信息结构类型定义。  |
33| struct  [HiDebug_MemoryLimit](_hi_debug___memory_limit.md) | 应用程序进程内存限制结构类型定义。  |
34
35
36### 宏定义
37
38| 名称 | 描述 |
39| -------- | -------- |
40| [HIDEBUG_TRACE_TAG_FFRT](#hidebug_trace_tag_ffrt)   (1ULL << 13) | FFRT任务标签。  |
41| [HIDEBUG_TRACE_TAG_COMMON_LIBRARY](#hidebug_trace_tag_common_library)   (1ULL << 16) | 公共库子系统标签。  |
42| [HIDEBUG_TRACE_TAG_HDF](#hidebug_trace_tag_hdf)   (1ULL << 18) | HDF子系统标签。  |
43| [HIDEBUG_TRACE_TAG_NET](#hidebug_trace_tag_net)   (1ULL << 23) | 网络标签。  |
44| [HIDEBUG_TRACE_TAG_NWEB](#hidebug_trace_tag_nweb)   (1ULL << 24) | NWeb标签。  |
45| [HIDEBUG_TRACE_TAG_DISTRIBUTED_AUDIO](#hidebug_trace_tag_distributed_audio)   (1ULL << 27) | 分布式音频标签。  |
46| [HIDEBUG_TRACE_TAG_FILE_MANAGEMENT](#hidebug_trace_tag_file_management)   (1ULL << 29) | 文件管理标签。  |
47| [HIDEBUG_TRACE_TAG_OHOS](#hidebug_trace_tag_ohos)   (1ULL << 30) | OHOS通用标签。  |
48| [HIDEBUG_TRACE_TAG_ABILITY_MANAGER](#hidebug_trace_tag_ability_manager)   (1ULL << 31) | Ability Manager标签。  |
49| [HIDEBUG_TRACE_TAG_CAMERA](#hidebug_trace_tag_camera)   (1ULL << 32) | 相机模块标签。  |
50| [HIDEBUG_TRACE_TAG_MEDIA](#hidebug_trace_tag_media)   (1ULL << 33) | 媒体模块标签。  |
51| [HIDEBUG_TRACE_TAG_IMAGE](#hidebug_trace_tag_image)   (1ULL << 34) | 图像模块标签。  |
52| [HIDEBUG_TRACE_TAG_AUDIO](#hidebug_trace_tag_audio)   (1ULL << 35) | 音频模块标签。  |
53| [HIDEBUG_TRACE_TAG_DISTRIBUTED_DATA](#hidebug_trace_tag_distributed_data)   (1ULL << 36) | 分布式数据管理器模块标签。  |
54| [HIDEBUG_TRACE_TAG_GRAPHICS](#hidebug_trace_tag_graphics)   (1ULL << 38) | 图形模块标签。  |
55| [HIDEBUG_TRACE_TAG_ARKUI](#hidebug_trace_tag_arkui)   (1ULL << 39) | ArkUI开发框架标签。  |
56| [HIDEBUG_TRACE_TAG_NOTIFICATION](#hidebug_trace_tag_notification)   (1ULL << 40) | 通知模块标签。  |
57| [HIDEBUG_TRACE_TAG_MISC](#hidebug_trace_tag_misc)   (1ULL << 41) | MISC模块标签。  |
58| [HIDEBUG_TRACE_TAG_MULTIMODAL_INPUT](#hidebug_trace_tag_multimodal_input)   (1ULL << 42) | 多模态输入模块标签。  |
59| [HIDEBUG_TRACE_TAG_RPC](#hidebug_trace_tag_rpc)   (1ULL << 46) | RPC标签。  |
60| [HIDEBUG_TRACE_TAG_ARK](#hidebug_trace_tag_ark)   (1ULL << 47) | JSVM虚拟机标签。  |
61| [HIDEBUG_TRACE_TAG_WINDOW_MANAGER](#hidebug_trace_tag_window_manager)   (1ULL << 48) | 窗口管理器标签。  |
62| [HIDEBUG_TRACE_TAG_DISTRIBUTED_SCREEN](#hidebug_trace_tag_distributed_screen)   (1ULL << 50) | 分布式屏幕标签。  |
63| [HIDEBUG_TRACE_TAG_DISTRIBUTED_CAMERA](#hidebug_trace_tag_distributed_camera)   (1ULL << 51) | 分布式相机标签。  |
64| [HIDEBUG_TRACE_TAG_DISTRIBUTED_HARDWARE_FRAMEWORK](#hidebug_trace_tag_distributed_hardware_framework)   (1ULL << 52) | 分布式硬件框架标签。  |
65| [HIDEBUG_TRACE_TAG_GLOBAL_RESOURCE_MANAGER](#hidebug_trace_tag_global_resource_manager)   (1ULL << 53) | 全局资源管理器标签。  |
66| [HIDEBUG_TRACE_TAG_DISTRIBUTED_HARDWARE_DEVICE_MANAGER](#hidebug_trace_tag_distributed_hardware_device_manager)   (1ULL << 54) | 分布式硬件设备管理器标签。  |
67| [HIDEBUG_TRACE_TAG_SAMGR](#hidebug_trace_tag_samgr)   (1ULL << 55) | SA标签。  |
68| [HIDEBUG_TRACE_TAG_POWER_MANAGER](#hidebug_trace_tag_power_manager)   (1ULL << 56) | 电源管理器标签。  |
69| [HIDEBUG_TRACE_TAG_DISTRIBUTED_SCHEDULER](#hidebug_trace_tag_distributed_scheduler)   (1ULL << 57) | 分布式调度程序标签。  |
70| [HIDEBUG_TRACE_TAG_DISTRIBUTED_INPUT](#hidebug_trace_tag_distributed_input)   (1ULL << 59) | 分布式输入标签。  |
71| [HIDEBUG_TRACE_TAG_BLUETOOTH](#hidebug_trace_tag_bluetooth)   (1ULL << 60) | 蓝牙标签。  |
72
73
74### 类型定义
75
76| 名称 | 描述 |
77| -------- | -------- |
78| typedef enum [HiDebug_ErrorCode](#hidebug_errorcode) [HiDebug_ErrorCode](#hidebug_errorcode) | 错误码定义。  |
79| typedef struct [HiDebug_ThreadCpuUsage](_hi_debug___thread_cpu_usage.md) [HiDebug_ThreadCpuUsage](#hidebug_threadcpuusage) | 应用程序所有线程的CPU使用率结构体定义。  |
80| typedef [HiDebug_ThreadCpuUsage](_hi_debug___thread_cpu_usage.md) \* [HiDebug_ThreadCpuUsagePtr](#hidebug_threadcpuusageptr) | HiDebug_ThreadCpuUsage指针定义。  |
81| typedef struct [HiDebug_SystemMemInfo](_hi_debug___system_mem_info.md) [HiDebug_SystemMemInfo](#hidebug_systemmeminfo) | 系统内存信息结构类型定义。  |
82| typedef struct [HiDebug_NativeMemInfo](_hi_debug___native_mem_info.md) [HiDebug_NativeMemInfo](#hidebug_nativememinfo) | 应用程序进程本机内存信息结构类型定义。  |
83| typedef struct [HiDebug_MemoryLimit](_hi_debug___memory_limit.md) [HiDebug_MemoryLimit](#hidebug_memorylimit) | 应用程序进程内存限制结构类型定义。  |
84| typedef enum [HiDebug_TraceFlag](#hidebug_traceflag) [HiDebug_TraceFlag](#hidebug_traceflag) | 采集trace线程的类型。  |
85
86
87### 枚举
88
89| 名称 | 描述 |
90| -------- | -------- |
91| [HiDebug_ErrorCode](#hidebug_errorcode) {<br/>HIDEBUG_SUCCESS = 0, HIDEBUG_INVALID_ARGUMENT = 401, HIDEBUG_TRACE_CAPTURED_ALREADY = 11400102, HIDEBUG_NO_PERMISSION = 11400103,<br/>HIDEBUG_TRACE_ABNORMAL = 11400104, HIDEBUG_NO_TRACE_RUNNING = 11400105<br/>} | 错误码定义。  |
92| [HiDebug_TraceFlag](#hidebug_traceflag) { HIDEBUG_TRACE_FLAG_MAIN_THREAD = 1, HIDEBUG_TRACE_FLAG_ALL_THREADS = 2 } | 采集trace线程的类型。  |
93
94
95### 函数
96
97| 名称 | 描述 |
98| -------- | -------- |
99| double [OH_HiDebug_GetSystemCpuUsage](#oh_hidebug_getsystemcpuusage) () | 获取系统的CPU资源占用情况百分比。  |
100| double [OH_HiDebug_GetAppCpuUsage](#oh_hidebug_getappcpuusage) () | 获取进程的CPU使用率百分比。  |
101| [HiDebug_ThreadCpuUsagePtr](#hidebug_threadcpuusageptr) [OH_HiDebug_GetAppThreadCpuUsage](#oh_hidebug_getappthreadcpuusage) () | 获取应用所有线程CPU使用情况。  |
102| void [OH_HiDebug_FreeThreadCpuUsage](#oh_hidebug_freethreadcpuusage) ([HiDebug_ThreadCpuUsagePtr](#hidebug_threadcpuusageptr) \*threadCpuUsage) | 释放线程数据结构。  |
103| void [OH_HiDebug_GetSystemMemInfo](#oh_hidebug_getsystemmeminfo) ([HiDebug_SystemMemInfo](_hi_debug___system_mem_info.md) \*systemMemInfo) | 获取系统内存信息。  |
104| void [OH_HiDebug_GetAppNativeMemInfo](#oh_hidebug_getappnativememinfo) ([HiDebug_NativeMemInfo](_hi_debug___native_mem_info.md) \*nativeMemInfo) | 获取应用程序进程的内存信息。  |
105| void [OH_HiDebug_GetAppMemoryLimit](#oh_hidebug_getappmemorylimit) ([HiDebug_MemoryLimit](_hi_debug___memory_limit.md) \*memoryLimit) | 获取应用程序进程的内存限制。  |
106| [HiDebug_ErrorCode](#hidebug_errorcode) [OH_HiDebug_StartAppTraceCapture](#oh_hidebug_startapptracecapture) ([HiDebug_TraceFlag](#hidebug_traceflag) flag, uint64_t tags, uint32_t limitSize, char \*fileName, uint32_t length) | 启动应用trace采集。  |
107| [HiDebug_ErrorCode](#hidebug_errorcode) [OH_HiDebug_StopAppTraceCapture](#oh_hidebug_stopapptracecapture) () | 停止采集应用程序trace。  |
108| [HiDebug_ErrorCode](#hidebug_errorcode) [OH_HiDebug_GetGraphicsMemory](#oh_hidebug_getgraphicsmemory) (uint32_t \*value) | 获取应用gpu显存大小。  |
109
110
111## 宏定义说明
112
113
114### HIDEBUG_TRACE_TAG_ABILITY_MANAGER
115
116```
117#define HIDEBUG_TRACE_TAG_ABILITY_MANAGER   (1ULL << 31)
118```
119**描述**
120Ability Manager标签。
121
122**起始版本:** 12
123
124
125### HIDEBUG_TRACE_TAG_ARK
126
127```
128#define HIDEBUG_TRACE_TAG_ARK   (1ULL << 47)
129```
130**描述**
131JSVM虚拟机标签。
132
133**起始版本:** 12
134
135
136### HIDEBUG_TRACE_TAG_ARKUI
137
138```
139#define HIDEBUG_TRACE_TAG_ARKUI   (1ULL << 39)
140```
141**描述**
142ArkUI开发框架标签。
143
144**起始版本:** 12
145
146
147### HIDEBUG_TRACE_TAG_AUDIO
148
149```
150#define HIDEBUG_TRACE_TAG_AUDIO   (1ULL << 35)
151```
152**描述**
153音频模块标签。
154
155**起始版本:** 12
156
157
158### HIDEBUG_TRACE_TAG_BLUETOOTH
159
160```
161#define HIDEBUG_TRACE_TAG_BLUETOOTH   (1ULL << 60)
162```
163**描述**
164蓝牙标签。
165
166**起始版本:** 12
167
168
169### HIDEBUG_TRACE_TAG_CAMERA
170
171```
172#define HIDEBUG_TRACE_TAG_CAMERA   (1ULL << 32)
173```
174**描述**
175相机模块标签。
176
177**起始版本:** 12
178
179
180### HIDEBUG_TRACE_TAG_COMMON_LIBRARY
181
182```
183#define HIDEBUG_TRACE_TAG_COMMON_LIBRARY   (1ULL << 16)
184```
185**描述**
186公共库子系统标签。
187
188**起始版本:** 12
189
190
191### HIDEBUG_TRACE_TAG_DISTRIBUTED_AUDIO
192
193```
194#define HIDEBUG_TRACE_TAG_DISTRIBUTED_AUDIO   (1ULL << 27)
195```
196**描述**
197分布式音频标签。
198
199**起始版本:** 12
200
201
202### HIDEBUG_TRACE_TAG_DISTRIBUTED_CAMERA
203
204```
205#define HIDEBUG_TRACE_TAG_DISTRIBUTED_CAMERA   (1ULL << 51)
206```
207**描述**
208分布式相机标签。
209
210**起始版本:** 12
211
212
213### HIDEBUG_TRACE_TAG_DISTRIBUTED_DATA
214
215```
216#define HIDEBUG_TRACE_TAG_DISTRIBUTED_DATA   (1ULL << 36)
217```
218**描述**
219分布式数据管理器模块标签。
220
221**起始版本:** 12
222
223
224### HIDEBUG_TRACE_TAG_DISTRIBUTED_HARDWARE_DEVICE_MANAGER
225
226```
227#define HIDEBUG_TRACE_TAG_DISTRIBUTED_HARDWARE_DEVICE_MANAGER   (1ULL << 54)
228```
229**描述**
230分布式硬件设备管理器标签。
231
232**起始版本:** 12
233
234
235### HIDEBUG_TRACE_TAG_DISTRIBUTED_HARDWARE_FRAMEWORK
236
237```
238#define HIDEBUG_TRACE_TAG_DISTRIBUTED_HARDWARE_FRAMEWORK   (1ULL << 52)
239```
240**描述**
241分布式硬件框架标签。
242
243**起始版本:** 12
244
245
246### HIDEBUG_TRACE_TAG_DISTRIBUTED_INPUT
247
248```
249#define HIDEBUG_TRACE_TAG_DISTRIBUTED_INPUT   (1ULL << 59)
250```
251**描述**
252分布式输入标签。
253
254**起始版本:** 12
255
256
257### HIDEBUG_TRACE_TAG_DISTRIBUTED_SCHEDULER
258
259```
260#define HIDEBUG_TRACE_TAG_DISTRIBUTED_SCHEDULER   (1ULL << 57)
261```
262**描述**
263分布式调度程序标签。
264
265**起始版本:** 12
266
267
268### HIDEBUG_TRACE_TAG_DISTRIBUTED_SCREEN
269
270```
271#define HIDEBUG_TRACE_TAG_DISTRIBUTED_SCREEN   (1ULL << 50)
272```
273**描述**
274分布式屏幕标签。
275
276**起始版本:** 12
277
278
279### HIDEBUG_TRACE_TAG_FFRT
280
281```
282#define HIDEBUG_TRACE_TAG_FFRT   (1ULL << 13)
283```
284**描述**
285FFRT任务标签。
286
287**起始版本:** 12
288
289
290### HIDEBUG_TRACE_TAG_FILE_MANAGEMENT
291
292```
293#define HIDEBUG_TRACE_TAG_FILE_MANAGEMENT   (1ULL << 29)
294```
295**描述**
296文件管理标签。
297
298**起始版本:** 12
299
300
301### HIDEBUG_TRACE_TAG_GLOBAL_RESOURCE_MANAGER
302
303```
304#define HIDEBUG_TRACE_TAG_GLOBAL_RESOURCE_MANAGER   (1ULL << 53)
305```
306**描述**
307全局资源管理器标签。
308
309**起始版本:** 12
310
311
312### HIDEBUG_TRACE_TAG_GRAPHICS
313
314```
315#define HIDEBUG_TRACE_TAG_GRAPHICS   (1ULL << 38)
316```
317**描述**
318图形模块标签。
319
320**起始版本:** 12
321
322
323### HIDEBUG_TRACE_TAG_HDF
324
325```
326#define HIDEBUG_TRACE_TAG_HDF   (1ULL << 18)
327```
328**描述**
329HDF子系统标签。
330
331**起始版本:** 12
332
333
334### HIDEBUG_TRACE_TAG_IMAGE
335
336```
337#define HIDEBUG_TRACE_TAG_IMAGE   (1ULL << 34)
338```
339**描述**
340图像模块标签。
341
342**起始版本:** 12
343
344
345### HIDEBUG_TRACE_TAG_MEDIA
346
347```
348#define HIDEBUG_TRACE_TAG_MEDIA   (1ULL << 33)
349```
350**描述**
351媒体模块标签。
352
353**起始版本:** 12
354
355
356### HIDEBUG_TRACE_TAG_MISC
357
358```
359#define HIDEBUG_TRACE_TAG_MISC   (1ULL << 41)
360```
361**描述**
362MISC模块标签。
363
364**起始版本:** 12
365
366
367### HIDEBUG_TRACE_TAG_MULTIMODAL_INPUT
368
369```
370#define HIDEBUG_TRACE_TAG_MULTIMODAL_INPUT   (1ULL << 42)
371```
372**描述**
373多模态输入模块标签。
374
375**起始版本:** 12
376
377
378### HIDEBUG_TRACE_TAG_NET
379
380```
381#define HIDEBUG_TRACE_TAG_NET   (1ULL << 23)
382```
383**描述**
384网络标签。
385
386**起始版本:** 12
387
388
389### HIDEBUG_TRACE_TAG_NOTIFICATION
390
391```
392#define HIDEBUG_TRACE_TAG_NOTIFICATION   (1ULL << 40)
393```
394**描述**
395通知模块标签。
396
397**起始版本:** 12
398
399
400### HIDEBUG_TRACE_TAG_NWEB
401
402```
403#define HIDEBUG_TRACE_TAG_NWEB   (1ULL << 24)
404```
405**描述**
406NWeb标签。
407
408**起始版本:** 12
409
410
411### HIDEBUG_TRACE_TAG_OHOS
412
413```
414#define HIDEBUG_TRACE_TAG_OHOS   (1ULL << 30)
415```
416**描述**
417OHOS通用标签。
418
419**起始版本:** 12
420
421
422### HIDEBUG_TRACE_TAG_POWER_MANAGER
423
424```
425#define HIDEBUG_TRACE_TAG_POWER_MANAGER   (1ULL << 56)
426```
427**描述**
428电源管理器标签。
429
430**起始版本:** 12
431
432
433### HIDEBUG_TRACE_TAG_RPC
434
435```
436#define HIDEBUG_TRACE_TAG_RPC   (1ULL << 46)
437```
438**描述**
439RPC标签。
440
441**起始版本:** 12
442
443
444### HIDEBUG_TRACE_TAG_SAMGR
445
446```
447#define HIDEBUG_TRACE_TAG_SAMGR   (1ULL << 55)
448```
449**描述**
450SA标签。
451
452**起始版本:** 12
453
454
455### HIDEBUG_TRACE_TAG_WINDOW_MANAGER
456
457```
458#define HIDEBUG_TRACE_TAG_WINDOW_MANAGER   (1ULL << 48)
459```
460**描述**
461窗口管理器标签。
462
463**起始版本:** 12
464
465
466## 类型定义说明
467
468
469### HiDebug_ErrorCode
470
471```
472typedef enum HiDebug_ErrorCodeHiDebug_ErrorCode
473```
474**描述**
475错误码定义。
476
477**起始版本:** 12
478
479
480### HiDebug_MemoryLimit
481
482```
483typedef struct HiDebug_MemoryLimitHiDebug_MemoryLimit
484```
485**描述**
486应用程序进程内存限制结构类型定义。
487
488**起始版本:** 12
489
490
491### HiDebug_NativeMemInfo
492
493```
494typedef struct HiDebug_NativeMemInfoHiDebug_NativeMemInfo
495```
496**描述**
497应用程序进程本机内存信息结构类型定义。
498
499**起始版本:** 12
500
501
502### HiDebug_SystemMemInfo
503
504```
505typedef struct HiDebug_SystemMemInfoHiDebug_SystemMemInfo
506```
507**描述**
508系统内存信息结构类型定义。
509
510**起始版本:** 12
511
512
513### HiDebug_ThreadCpuUsage
514
515```
516typedef struct HiDebug_ThreadCpuUsageHiDebug_ThreadCpuUsage
517```
518**描述**
519应用程序所有线程的CPU使用率结构体定义。
520
521**起始版本:** 12
522
523
524### HiDebug_ThreadCpuUsagePtr
525
526```
527typedef HiDebug_ThreadCpuUsage* HiDebug_ThreadCpuUsagePtr
528```
529**描述**
530HiDebug_ThreadCpuUsage指针定义。
531
532**起始版本:** 12
533
534
535### HiDebug_TraceFlag
536
537```
538typedef enum HiDebug_TraceFlagHiDebug_TraceFlag
539```
540**描述**
541采集trace线程的类型。
542
543**起始版本:** 12
544
545
546## 枚举类型说明
547
548
549### HiDebug_ErrorCode
550
551```
552enum HiDebug_ErrorCode
553```
554**描述**
555错误码定义。
556
557**起始版本:** 12
558
559| 枚举值 | 描述 |
560| -------- | -------- |
561| HIDEBUG_SUCCESS  | 成功。&nbsp;&nbsp; |
562| HIDEBUG_INVALID_ARGUMENT  | 无效参数,可能的原因: 1.参数传值问题;2.参数类型问题。&nbsp;&nbsp; |
563| HIDEBUG_TRACE_CAPTURED_ALREADY  | 重复采集。&nbsp;&nbsp; |
564| HIDEBUG_NO_PERMISSION  | 没有写文件的权限。&nbsp;&nbsp; |
565| HIDEBUG_TRACE_ABNORMAL  | 系统内部错误。&nbsp;&nbsp; |
566| HIDEBUG_NO_TRACE_RUNNING  | 当前没有trace正在运行。&nbsp;&nbsp; |
567
568
569### HiDebug_TraceFlag
570
571```
572enum HiDebug_TraceFlag
573```
574**描述**
575采集trace线程的类型。
576
577**起始版本:** 12
578
579| 枚举值 | 描述 |
580| -------- | -------- |
581| HIDEBUG_TRACE_FLAG_MAIN_THREAD  | 只采集当前应用主线程。&nbsp;&nbsp; |
582| HIDEBUG_TRACE_FLAG_ALL_THREADS  | 采集当前应用下所有线程。&nbsp;&nbsp; |
583
584
585## 函数说明
586
587
588### OH_HiDebug_FreeThreadCpuUsage()
589
590```
591void OH_HiDebug_FreeThreadCpuUsage (HiDebug_ThreadCpuUsagePtr * threadCpuUsage)
592```
593**描述**
594释放线程数据结构。
595
596**起始版本:** 12
597
598**参数:**
599
600| 名称 | 描述 |
601| -------- | -------- |
602| threadCpuUsage | 应用的所有线程可用CPU使用缓冲区指针,见[HiDebug_ThreadCpuUsagePtr](#hidebug_threadcpuusageptr)。 传入的参数是要由OH_HiDebug_GetAppThreadCpuUsage()得到的。  |
603
604
605### OH_HiDebug_GetAppCpuUsage()
606
607```
608double OH_HiDebug_GetAppCpuUsage ()
609```
610**描述**
611获取进程的CPU使用率百分比。
612
613**起始版本:** 12
614
615**返回:**
616
617返回进程的CPU使用率百分比。如果返回结果为0,可能的原因是当前应用的cpu使用率过低。
618
619
620### OH_HiDebug_GetAppMemoryLimit()
621
622```
623void OH_HiDebug_GetAppMemoryLimit (HiDebug_MemoryLimit * memoryLimit)
624```
625**描述**
626获取应用程序进程的内存限制。
627
628**起始版本:** 12
629
630**参数:**
631
632| 名称 | 描述 |
633| -------- | -------- |
634| memoryLimit | 表示指向[HiDebug_MemoryLimit](_hi_debug___memory_limit.md)。 经过该函数调用,如果结构体里的数据为空,说明调用失败。  |
635
636
637### OH_HiDebug_GetAppNativeMemInfo()
638
639```
640void OH_HiDebug_GetAppNativeMemInfo (HiDebug_NativeMemInfo * nativeMemInfo)
641```
642**描述**
643获取应用程序进程的内存信息。
644
645**起始版本:** 12
646
647**参数:**
648
649| 名称 | 描述 |
650| -------- | -------- |
651| nativeMemInfo | 表示指向[HiDebug_NativeMemInfo](_hi_debug___native_mem_info.md)。 经过该函数调用,如果结构体里的数据为空,说明调用失败。  |
652
653
654### OH_HiDebug_GetAppThreadCpuUsage()
655
656```
657HiDebug_ThreadCpuUsagePtr OH_HiDebug_GetAppThreadCpuUsage ()
658```
659**描述**
660获取应用所有线程CPU使用情况。
661
662**起始版本:** 12
663
664**返回:**
665
666返回所有线程CPU使用情况,见[HiDebug_ThreadCpuUsagePtr](#hidebug_threadcpuusageptr)。 如果返回的结果是null,可能的原因是未获取到线程相关的数据。
667
668
669### OH_HiDebug_GetGraphicsMemory()
670
671```
672HiDebug_ErrorCode OH_HiDebug_GetGraphicsMemory (uint32_t * value)
673```
674**描述**
675获取应用gpu显存大小。
676
677**起始版本:** 14
678
679**参数:**
680
681| 名称 | 描述 |
682| -------- | -------- |
683| value | 指向用来保存接口获取到的应用显存大小(单位KB)的变量的指针。  |
684
685**返回:**
686
6870 - 接口获取成功。
688
689401 - 无效参数,所传递参数为空指针。
690
69111400104 - 系统内部错误。
692
693
694### OH_HiDebug_GetSystemCpuUsage()
695
696```
697double OH_HiDebug_GetSystemCpuUsage ()
698```
699**描述**
700获取系统的CPU资源占用情况百分比。
701
702**起始版本:** 12
703
704**返回:**
705
706返回系统CPU资源占用情况百分比。如果返回结果为0,可能的原因是获取失败。
707
708
709### OH_HiDebug_GetSystemMemInfo()
710
711```
712void OH_HiDebug_GetSystemMemInfo (HiDebug_SystemMemInfo * systemMemInfo)
713```
714**描述**
715获取系统内存信息。
716
717**起始版本:** 12
718
719**参数:**
720
721| 名称 | 描述 |
722| -------- | -------- |
723| systemMemInfo | 表示指向[HiDebug_SystemMemInfo](_hi_debug___system_mem_info.md)。 经过该函数调用,如果结构体里的数据为空,说明调用失败。  |
724
725
726### OH_HiDebug_StartAppTraceCapture()
727
728```
729HiDebug_ErrorCode OH_HiDebug_StartAppTraceCapture (HiDebug_TraceFlag flag, uint64_t tags, uint32_t limitSize, char * fileName, uint32_t length )
730```
731**描述**
732启动应用trace采集。
733
734**起始版本:** 12
735
736**参数:**
737
738| 名称 | 描述 |
739| -------- | -------- |
740| flag | 采集线程trace方式。  |
741| tags | 采集trace场景标签。  |
742| limitSize | trace文件的最大大小(以字节为单位),最大为 500MB。  |
743| fileName | 输出trace文件名缓冲区。  |
744| length | 输出trace文件名缓冲区长度。  |
745
746**返回:**
747
7480 - 成功。
749
750HIDEBUG_INVALID_ARGUMENT 401 - fileName参数为空指针或者传入的length参数过小或者limitSize参数小于等于0。
751
75211400102 - 已经开启了一个trace。
753
75411400103 - 没有权限去开启trace。
755
75611400104 - 系统内部错误。
757
758
759### OH_HiDebug_StopAppTraceCapture()
760
761```
762HiDebug_ErrorCode OH_HiDebug_StopAppTraceCapture ()
763```
764**描述**
765停止采集应用程序trace。
766
767**起始版本:** 12
768
769**返回:**
770
7710 - 成功。
772
77311400104 - 系统内部错误。
774
77511400105 - 当前没有trace正在运行。
776