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 | 成功。 | 562| HIDEBUG_INVALID_ARGUMENT | 无效参数,可能的原因: 1.参数传值问题;2.参数类型问题。 | 563| HIDEBUG_TRACE_CAPTURED_ALREADY | 重复采集。 | 564| HIDEBUG_NO_PERMISSION | 没有写文件的权限。 | 565| HIDEBUG_TRACE_ABNORMAL | 系统内部错误。 | 566| HIDEBUG_NO_TRACE_RUNNING | 当前没有trace正在运行。 | 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 | 只采集当前应用主线程。 | 582| HIDEBUG_TRACE_FLAG_ALL_THREADS | 采集当前应用下所有线程。 | 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