apple appstore上线过程中 app crash的分析方法

apple appstore上线过程中 app crash的分析方法


首先找到 symbolicatecrash 程序
一般是在 /Applications/Xcode.app/Contents/SharedFrameworks/DTDeviceKitBase.framework/Versions/A/Resources/symbolicatecrash


如果没找到,可以用 find 在 /Applications/Xcode.app/Contents/ 里面搜一下。


找到了以后,新建一个文件夹,比如叫 ~/crash,把 symbolicatecrash copy进去,
然后把你提交到appstore的dSYM文件,以及苹果反馈的 crash文件也copy到这个文件夹里。


然后
./symbolicatecrash ./crash文件 ./dSYM文件 > a.crash


如果报错 提示没有找到 DEVELOPER_DIR 变量的话,可以
export DEVELOPER_DIR="/Applications/Xcode6.app/Contents/Developer"


这时候生成的a.crash文件跟苹果反馈给你的差不多 但是多了一点点东西,可以双击打开查看


打开后可以看到 Last Exception BNacktrace 的信息,在这一段信息里下面找到自己的app名字的那一行,后面会有出错的内存位置
比如
16 xxxapp 0x100036070 0x100018000 + 122992


0x100036070 就是我们要用到的


接下来执行命令
dwarfdump --lookup 0x100036070 --arch arm64 dSYM文件/


arch根据crash的 Code Type:           ARM-64 (Native) 这一行来指定


这时候就会有非常详细的crash分析显示出来了,通过这个能很快定位导致crash的位置了。

你可能感兴趣的:(技术笔记)