我们app发布之后一般拿到线上的崩溃日志,线下根据崩溃日志来进行修改代码。
但有时我们抓取的崩溃日志有些具体定位不到哪个文件,哪行,这个时候利用dsym文件结合DSYMTools分析工具,可以定位到具体代码位置
1.错误的日志(无法直接定位问题位置)
我们定位问题的话,主要看上图标出来的5,6,7,8,9行。其中:
1和3:A05_iPhone 是App的名字
2:0x0000000100ac75d0 16进制地址代表崩溃的错误地址
4:603600十进制 偏移量
下面我们利用DSYMTools来进行分析
DSYMTools工具下载链接
- dsym文件的udid:
打开终端输入xcrun dwarfdump --uuid dsym文件路径
2)错误信息的内存地址:0x0000000100ac7b34
3)Slide Address = (((错误信息的内存地址:0x0000000100ac7b34 ) 转为10进制) -
(后面的偏移量 604980)转为16进制)
注意点:
错误信息的内存地址:0x0000000100ac7b34转为10进制时需要去掉0x字符,开头的0也可以去掉(0x是16进制的代表符)
0x0000000100ac7b34(16)= 43062