重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
iOS应用crash日志分析
成都创新互联公司网站建设提供从项目策划、软件开发,软件安全维护、网站优化(SEO)、网站分析、效果评估等整套的建站服务,主营业务为成都网站建设、网站制作,手机APP定制开发以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。成都创新互联公司深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!
解析crash日志,得到可疑代码,精确到类,代码行;
1. 首先,拿到手机上 崩溃后的crash日志,方法许多,这里介绍一种;
手机连接上xcode,点击xcode-Window-Devices,如下图所示,找到对应时间点,对应应用产生的crash日志信息,选中,右键,选择Export Log,将它保存至某目录下,这样就得到 crash日志文件“应用名+时间+log.crash”;
2. 其次,拿到应用打包时生成的.xcarchive文件,如何找到它:
xcode-Window-Organizer,打开后,可以看到所有打过包的Archives列表,找到崩溃包对应的 Archives文件,右键选择 show in finder,此文件为 " 应用名+时间.xcarchive";
3. 注意,将第1步和第2步得到的 两个文件放到同一目录下吧;
4. 打开mac上终端,输入命令行,此命令行执行的结果为 对应的类文件名称+出错的代码行号,一般来说,是相当精确的。。
atos -o 文件1 -arch arm64 -l 地址1 地址2
运行后,结果为 如下所示,类名,代码行号信息,对于定位出crash原因就相当简洁了。
命令行中 :
文件1 的来历:
选择文件 " 应用名+时间.xcarchive"--右键--显示包内容--"dSYMs"--"应用名.app.dSYM"--"Contents"--"Resources"--"DWARF"--"应用名" ;---这个“应用名”就是文件1,将它直接拖到 终端上即可;
地址1、地址2 的来历:
双击打开文件 “应用名+时间+log.crash”--找到 Last Exception Backtrace,最后的异常堆栈信息,在里面的信息里找到 崩溃应用的名称相关的日志;
如下图所示,红框处为崩溃应用名称,后面的红箭头所指地址为 地址1,蓝箭头所指为 地址2;