解析奔溃日志.ips

2018-12-28  本文已影响34人  RocketsChen

有的时候线上版本会出现隐性Bug并且debug不能大概率复现,造成难以断点调试。这个时候测试会丢过来一个.ips的文件包,需要手动定位。

崩溃日志

准备动作

路径

打开终端

1:先获取symbolicatecrash工具,

去如下路径/Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources/symbolicatecrash去复制symbolicatecrash到crash文件夹内。这个时候你crash文件夹内有三个文件如下图:
15459741693652.jpg

2:终端命令解析

可能会出现如下错误:Error: "DEVELOPER_DIR" is not defined at /Users/snailchen/Desktop/crash/symbolicatecrash line 69.

验证

3:打开后就是一些堆栈的日志

这里我就不分析一些常见的bug了有兴趣的可以去Google/Baidu一下:Watchdog timeoutUser force-quitLow Memory termination等等
日志

如上图可以定位到如下,可以看出这个错误,上面只给出了一个内容地址,连大概的错误原因都没有,一般情况下如果是数组越界,空值等等会显示一个基本提示。但是就算如此也是不够的,我们需要进一步定位。

12  xxxx                        0x00000001001a20fc 0x100070000 + 1253628
13  xxxx                        0x00000001003fe9b0 0x100070000 + 3729840
14  xxxx                        0x00000001004ced48 0x100070000 + 4582728
15  xxxx                        0x00000001005e6608 0x100070000 + 5727752

进一步定位

前往至发布版本的dSYMs文件夹下,显示包内容

路径
我们 cd 到该文件目录下
atos -arch arm64 -o xxxx 0x100070000 (xxxx:为你APP即如上图的SDKTest)
这样就定位到项目中的具体报错了 : 的.m 文件的69行。
定位

3:赶紧去解Bug吧。

上一篇 下一篇

猜你喜欢

热点阅读