iOS崩溃符号表解析(一)使用symbolicatecrash拉取崩溃

因项目中碰到一个符号表使用Xcode12打包出来的framework给到另外一个团队,另外一个团队(不在一个职场)用Xcode 11.3进行打包集成出现了符号表解析不了的问题.(虽然最终是通过Xcode11.5 或11.2)打包framework成功了。
!!!注意后面测试过用哪个版本Archive的就只能同时用该版本。
(比如用Xcode11.2Archive的,但是后面的操作用Xcode12进行会失败)
但是也有必要记录下符号表的解析的问题。

1、制造崩溃

制造一个方法未实现的崩溃

2、拿到符号表(.DSYM)

Archive之后可以右击Show in Finder拿到DSYM文件

Archive包列表

DSYM路径

3、安装ipa并复现崩溃

在第二步中导出ipa,用Xcode中的Window->Devices and Simulators快速安装ipa包

点击+号选择需要安装的ipa文件

安装完成打开APP,APP闪退

4、拉取系统崩溃日志信息文件(.crash)

系统崩溃日志位于(我的手机iOS13.7,不同系统可能有差异,但大同小异)设置->隐私->分析与改进->分析数据
找到崩溃的日志信息(.ips)导出到电脑中,并将后缀名改为.crash。

5、symbolicatecrash工具

打开终端,输入find /Applications/Xcode11.2.app -name symbolicatecrash -type f(我这边是用Xcode11.2编译的)获取列表,然后复制含有DVTFoundation的路径,然后前往文件夹copy出来,把这三个文件放在同一个文件夹

.DSYM,.crash, symbolicatecrash放在同一个文件夹

6、合成symbol.crash文件

cd到文件夹,执行./symbolicatecrash ./Lingkabao-2020-12-05-100602.crash ./Lingkabao.app.dSYM/ > symbol.crash

执行出错

如果出现

Error: "DEVELOPER_DIR" is not defined at ./symbolicatecrash line 69.

则先执行

export DEVELOPER_DIR=/Applications/XCode11.2.app/Contents/Developer

再执行

./symbolicatecrash ./Lingkabao-2020-12-05-100602.crash ./Lingkabao.app.dSYM/ > symbol.crash

通过后文件夹就会出现一份symbol.crash文件,里面就是你想要的了


image.png

右击.crash文件,选择使用Xcode11.2打开(因我本地有两个Xcode版本,使用Xcode11.2才行,否则找不到崩溃堆栈)选择自己的项目点击Open


选择自己的项目

最终效果

参考: iOS审核 Exception Type: EXC_CRASH (SIGKILL)

你可能感兴趣的:(iOS崩溃符号表解析(一)使用symbolicatecrash拉取崩溃)