如何生成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

Logo

讨论HarmonyOS开发技术,专注于API与组件、DevEco Studio、测试、元服务和应用上架分发等。

更多推荐