根据dsym 和崩溃日志定位bug

dsym 文件是打包时生成的文件,文件内容是app的各个方法对应的16进制的地址。

而fabri 或 友盟的崩溃日志 记载的是,方法的调用栈。因此通过出现bug的调用栈的方法的地址,在dsym 文件中找到对应的方法。

核心命令:

dwarfdump --lookup  0x0007434d-arch arm7 uau1.3.0.app.dSYM


崩溃日志

1.首先查看此崩溃日志的UUID 与 dsym 文件的UUID是否一致

dwarfdump --uuid JoyshowCampus_Compose.app.dSYM

UUID: 206F0449-6889-3C30-A942-495ABF5FD7CC (armv7) JoyshowCampus_Compose.app.dSYM/Contents/Resources/DWARF/JoyshowCampus_Compose

UUID: BF2E7A22-67EE-3FF3-86CF-6107E28F09D2 (arm64) JoyshowCampus_Compose.app.dSYM/Contents/Resources/DWARF/JoyshowCampus_Compose

如果UUID一致,则证明,此崩溃日志可用。进行下一步。

2、之所以要找到这部分,是因为crash log中call tree没办法识别的部分,往往就是自己代码的部分。

我的Crash Log中,分别是这三行

自己的代码段

dwarfdump --lookup0x000000010007528c-arch arm64 uau1.3.0.app.dSYM

打印出的log即可判断出错误的代码处。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容