iOS崩溃日志抓取与符号化

iOS发生崩溃时,会在设备上生成tracenote-app-2018-01-03-101212.ips这样的崩溃日志文件,本文简记崩溃日志的命令行抓取和符号化。

使用Xcode,Xcode -> Window -> Devices -> View Device Logs 可以直接看到崩溃日志,在日志界面上稍等数秒,会直接符号化显示。

抓取

命令行从设备导出日志用的是idevicecrashreport(libimobiledevice库中):

1
idevicecrashreport -k iOSLog

导出到iOSLog文件夹,其中只有类似tracenote-app-2018-01-03-101212.ips这样的才是目标app的崩溃日志,其它的可以忽略。

符号化

使用的是symbolicate,
使用方法:

1
./symbolicate.sh tracenote-app-2018-01-03-101212.ips tracenote-app.app > handled.crash
  • 或者使用dSYM文件:
    ./symbolicate.sh Crasher.crash Example/Crasher.app.dsym > Crasher_Symbolicated.crash

找到一篇介绍比较详细的文章,点击这里参考。