之前记得写过此总结,但是死活找不到了。。。今天又整理归纳以备记录。
iOS 崩溃分析技术
准备 .dsym 文件,dsym 文件对应的.app 文件,crashlog 文件,一般苹果会提供给你,直接下载就行。
1、dsym 文件路径:xcodeàwindowàorganizer
此时便可看到应用列表,在里面找到上传到应用商店的 archive 项,在其上右键 show in finder这时你便看到了此发布包的目录,命名为 yourAppName.xcarchive 文件,在其上右键选择 显示包内容 你会看到 dsyms 文件夹,我们需要的 dsym 文件便找到了。
2、app 文件路径:
同上步骤,当你看到 dsyms 文件夹 的时候,你也能看到一个叫做 products 的文件夹,打开此文件夹,applications 继续打开,你便会找到 app 文件。
经过上述步骤,我们便准备好了我们要分析的文件和数据。
3、在你认为方便的地方,建立一个文件夹,比如,我选择在桌面上建立一个叫做 crash 的文件夹,将上面找到的dsym 文件和 app 文件复制(或者拖动)到这个 crash 文件里面,将苹果提供给你的 crashlog 文件一并拖到这个 crash 文件里面,OK,所有数据就绪,下来进行分析。
打开终端,cd 到这个 crash 文件下,user 即你的电脑用户,不要搞错了。也可以在输入cd加空格后,直接将此文件夹拖到终端中,比例方便。
cd /Users/user/Desktop/crash
然后接着执行如下命令
xcrun atos -arch armType -o XXX.app/XXX crashAddress
armType 崩溃 cpu 类型,可能为 armv7、arvmv6、arm64 等,你需要在苹果给你提供的崩溃 log 里面查看。
XXX.app/XXX 你的 app 名称
crashAddress 崩溃地址,16 位内存地址
便会看到是在哪个文件里面的哪一行或者方法里面出现崩溃,将会很明了的告诉你哪行出了问题,你进行逻辑处理修正修复问题即可。