HarmonyOS 鸿蒙Next中coredump调试说明

HarmonyOS 鸿蒙Next中coredump调试说明

如何生成coredump?

对声明可生成coredump的应用,可在任务管理器右击该应用进程,选择创建转储文件生成coredump。

图片

dump文件保存位置

通过任务管理器触发,目前一个应用只能在沙箱目录下存在一个文件,文件名为"包名.dmp"。

如何跨设备调试coredump,且可以显示源码?

1、将对应的coredump以及appspawn拷贝到host侧,appspawn的路径为 /system/bin/appspawn。

2、将依赖的so拷贝到host侧(需清楚so在原设备侧的路径)。

3、将对应的源码拷贝到host侧(需清楚源码在原设备侧的路径 / 或者编译对应so的设备上的路径)。

4、启动lldb。

5、设置路径映射。

(共享库映射) 
settings set target.exec-search-paths /system/lib64 D:\work\coredump\libs\system\lib64 /lib D:\work\coredump\libs\lib 
(源码映射--可选) 
settings set target.source-map /srv/workspace/hmos_trunk_system_general_20250917_0118_huawei_cf6e78c1b/code/third_party/musl D:\work\coredump\musl

6、调试对应的coredump。

target create D:\work\coredump\libs\system\bin\appspawn --core D:\work\coredump\xxx.hap.dmp

图片


更多关于HarmonyOS 鸿蒙Next中coredump调试说明的实战教程也可以访问 https://www.itying.com/category-93-b0.html

2 回复

在HarmonyOS Next中,coredump文件用于记录应用崩溃时的内存状态。系统默认在/data/log/core目录下生成coredump文件,需通过hdc工具导出到本地分析。使用调试工具如lldb或gdb解析coredump文件,结合对应架构的符号文件定位问题。调试时需确保设备开启开发者模式并配置完整符号表。

更多关于HarmonyOS 鸿蒙Next中coredump调试说明的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS Next中,coredump调试流程如下:

生成coredump

  • 对声明可生成coredump的应用,在任务管理器中右击该应用进程,选择“创建转储文件”即可生成coredump
  • dump文件保存在沙箱目录下,文件名为“包名.dmp”

跨设备调试coredump

  1. 将coredump文件、appspawn(路径:/system/bin/appspawn)及依赖的so库拷贝到host侧
  2. 将对应源码拷贝到host侧,需知晓源码在原设备侧的路径
  3. 启动lldb调试器
  4. 设置路径映射:
    • 共享库映射:settings set target.exec-search-paths [原路径] [host路径]
    • 源码映射(可选):settings set target.source-map [原路径] [host路径]
  5. 加载coredump:target create [appspawn路径] --core [coredump文件路径]

通过以上步骤可实现跨设备调试coredump并显示源码信息。路径映射确保调试器能正确找到共享库和源码位置。

回到顶部