根据dsym 和崩溃日志定位bug

2017-04-11  本文已影响0人  nemoispretty

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即可判断出错误的代码处。

上一篇下一篇

猜你喜欢

热点阅读