ios崩溃日志分析,无dSYM文件

本文介绍了在没有dSYM文件的情况下,如何通过ipa和crash文件定位iOS应用的崩溃代码。首先,使用lipo命令提取arm64架构的执行文件,然后利用restore-symbol工具进行符号化,最后通过atos命令将地址信息转换为可读的代码位置,成功实现了崩溃日志的符号化处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题场景

大部分情况下,我们都拿不到dSYM文件,只有一份ipa文件+一个crash文件,应该如何定位具体崩溃的代码呢?

实例说明

首先本人建立了一个demo工程,写了一段会crash的代码,如下图在这里插入图片描述
然后打包成ipa包,如下
在这里插入图片描述
安装到手机上,运行,得到崩溃日志,如下
在这里插入图片描述
可以看到上面有两个信息,一个是运行崩溃的手机架构是arm64,一个是下面的未符号化的地址信息
1,首先我们需要先对我们的执行文件瘦身,获取到arm64的执行文件,使用命令

lipo -thin arm64 test/yzzs -output test/yzzs_arm64

yzzs是ipa中的执行文件,后面是输出文件,执行完如下
在这里插入图片描述
2,下载工具restore-symbol.
3,执行restore-symbol工具命令得到符号化的执行文件,使用命令

./restore-symbol test/yzzs_arm64 -o test/yzzs_symbol

yzzs_arm64是上一个步骤得到的arm64架构的执行文件,后面是输出符号化后的执行文件
4,下面通过系统工具atos导出对应的符号化后的地址,使用命令

atos -arch arm64 -o test/yzzs_symbol -l 0x100e00000 0x0000000100e061cc 0x100e00000 0x0000000100e06068

执行完如下,地址信息被符号化出来了,并不需要用到dSYM文件
在这里插入图片描述
完毕

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值