前置知识包:
ios dsym文件详解:https://www.csdn.net/article/2015-08-04/2825369
一.前置条件
1.本地安装Xcode
2.移动设备开启【共享iphone分析】
3.准备一个被测应用的包,并安装到移动设备
二.手法
1.新建一个文件夹,取名为crash
2.从移动设备获取ips文件
2.1.【设置】→ 【隐私】 →【分析】 → 【分析数据】→找到被测应用的日志文件 → 导出;
2.2 .将【.ips】后缀修改为【.crash】->保存到crash文件夹中;
3.找到Xcode自带的symbolicatecrash工具(我的是/Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources/symbolicatecrash)
复制symbolicatecrash工具至crash文件夹中;
4.下载被测应用符号集文件
4.1. 下载被测包内容中 archive文件下dSYM文件;
4.2. 解压到crash文件中;
5.使用symbolicatecrash工具解析崩溃日志
5.1. 在终端执行command: 【./symbolicatecrash ./*.crash ./*.app.dSYM >log.crash】;
5.2 log.crash为解析后的文件
6. 分析log.crash文件,定位问题
最终示例:
三.可能出现的问题
1.没有.ips log → 开启设备共享iphone分享开关;
2.执行解析command 报No symbolic information found → check dSYM 文件中uuid是否与crash日志中的 uuid一致; (务必确认被测应用和dsym文件属于同一次编译产出)
3.不确认dsym文件中uuid与crash日志中uui是否一致 →在终端执行 【dwarfdump --uuid bili-universal.app.dSYM】获取uuid →对比