HarmonyOS 使用addr2line进行崩溃地址解析,无法解析出具体的行号

使用addr2line进行崩溃地址解析,无法解析出具体的行号

命令如下:

/Users/Documents/harmony_sdk/X86SDK/HarmonyOS-NEXT-DP2/base/native/llvm/bin/llvm-addr2line -e /Users/Documents/xxx/xxxPlayerProject/SvMediaPlayer/harmony/harmony/sohuplayer_native/build/default/intermediates/cmake/default/obj/arm64-v8a/libsohuplayer_native.so 000000000026bbec 

执行完后,显示

??:0
HarmonyOS
2024-08-23 12:10:34
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
Heiang

请在build-profile.json5里的externalNativeOptions下面添加"arguments":"-DCMAKE_BUILD_TYPE=Debug",然后编译再跑一下

问题的原因是release模式下默认移除了符号表,如果是线上的release包可以通过配置保留符号表,保留符号表可以设置debugSymbol的strip为false:

"nativeLib":{ 
"debugSymbol":{ 
"strip":false, 
"exclude":[] 
} 
}

参考文档链接:

https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/ide-hvigor-build-profile-0000001778834297

应用在Release后,经过代码混淆的堆栈信息无法定位到源码的具体文件和行位置,不易于快速解决问题。

针对该场景,DevEco Studio提供了Release应用堆栈解析功能,利用Release应用堆栈中的bundle路径,通过映射规则转换为具体的源码路径,从而提升解决问题的效率。

elease包定位crash的源码具体文件和行位置,用调试提供的 Analyze Stack Trace

https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/ide-release-app-stack-analysis-0000001814726289

分享
微博
QQ
微信
回复
2024-08-23 21:32:37
相关问题
HarmonyOS Jsons解析对象无法调用防范
371浏览 • 1回复 待解决
HarmonyOS使用json解析报错
640浏览 • 2回复 待解决
如何对JSON数据进行解析优化
627浏览 • 1回复 待解决
HarmonyOS json解析问题
251浏览 • 1回复 待解决
证书解析解析证书CN怎么获取
352浏览 • 1回复 待解决
HarmonyOS json解析异常
320浏览 • 1回复 待解决
HarmonyOS JSON解析number丢失精度
72浏览 • 1回复 待解决
HarmonyOS 如何解析HTML文本
327浏览 • 1回复 待解决
HarmonyOS 如何解析证书文件
309浏览 • 1回复 待解决
SQL解析问题有知道吗?
2965浏览 • 1回复 待解决