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 - 系统内部异常。