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