Files
ability_ability_runtime/services
openharmony_ci 71c7d73416 !18879 merge pr_18792_fix into master
add dumpresult

Created-by: Lutao98
Commit-by: Lutao98
Merged-by: openharmony_ci
Description: **IssueNo**: https://gitcode.com/openharmony/hiviewdfx_hidumper/issues/563

**Description**:

本次提交基于 PR #18792 cherry-pick 并解冲突,新增应用进程 native 内存 dump 能力(DumpMem),支持通过 hidumper 触发 native 内存泄漏检测和快照导出。

主要修改:
1. 新增 MemDumpInfo 数据结构及其 Parcelable 序列化/反序列化实现
2. 新增 DumpMem IPC 通道:AppMgrInterfaceCode::DUMP_MEM_PROCESS,支持同步/异步两种调用模式
3. 完整的 IPC 链路:AppMgrClient -> AppMgrProxy -> AppMgrStub -> AppMgrServiceInner -> AppRunningManager -> AppRunningRecord -> AppLifeCycleDeal -> AppSchedulerProxy -> AppSchedulerHost -> MainThread
4. DumpRuntimeHelper 新增 DumpMem/DumpNativeHeap/GetDumpResult/GetSnapshot 实现,通过 dlopen libmemleak.z.so 动态加载内存泄漏检测函数
5. 提取公共 LoadMemLeakFunc 辅助函数消除 dlopen/dlsym 重复代码
6. 补充单元测试和 mock 实现

**稳定性自检:**
| 自检项                                                       | 自检结果  |
| ------------------------------------------------------------ | -------- |
| 涉及跨进程调用的相关操作需要抛至主线程或加锁防止并发              | 已检查,ScheduleMem同步模式直接执行,异步模式通过mainHandler PostTask |
| 成员变量进行赋值或创建需要排查并发                               | 不涉及         |
| 谨慎在lambda表达式中使用引用捕获                                | 已检查,异步lambda使用值捕获 |
| mapector\list\set等stl模板类使用时需要排查并发                | 不涉及         |
| 禁止传递this指针至其他模块或线程(特别是eventhandler任务)        | 已检查,异步使用wptr |
| 禁止在对外接口中未经判空直接使用外部传入的指针                    | 已检查         |

**安全编码自检:**
| 自检项                                                          | 自检结果 |
| -------------------------------------------------------------- | -------- |
| 指针变量、表示资源描述符的变量、bool变量必须赋初值                  | 已检查         |
| readParcelable获取的对象使用前需要判空                            | 已检查         |
| 分配和释放内存的函数需要成对出现                                   | 已检查         |
| 内存分配后必须判断是否成功                                         | 已检查         |
| 必须检查安全函数的返回值,并进行正确处理                             | 已检查         |

**TDD Result**:

**XTS Result**:

### 是否已执行L0用例
- [ ] 已验证
- [ ] 不涉及。如不涉及,请写明理由


See merge request: openharmony/ability_ability_runtime!18879
2026-04-09 19:10:27 +08:00
..
2026-03-24 09:23:06 +08:00
2026-03-24 09:23:06 +08:00
2026-01-30 11:43:45 +08:00
2024-12-18 21:16:37 +08:00