iOS开发——解析崩溃日志

在实际的开发过程中,作为开发者的我们常常会碰到一种场景,那就是真机调试时崩溃了,而有时又不能在Xcode中打印出崩溃信息,那么这时候我们就必须要获取到崩溃原因,从而解决问题。

而在万能的Xcode中,你可以找到自己测试机里的崩溃日志。Window -> Devices -> 选中自己的测试机 View Device Logs ,类似下图

而此时你可以选择导出自己的崩溃日志,并且这里的我们看到的崩溃日志,都是Xcode已经帮我们符号化的,很清晰的就可以看到崩溃原因,以及崩溃的位置。

如果是其他用户,下载了我们的App之后出现了崩溃,我们可以从iTunes Connect中获取到其他用户的崩溃日志,但是这时如果你去看他人的崩溃日志,不出意外您是懵逼的。这是崩溃日志么? 天书还差不多。而如何把他人的崩溃日志符号化呢? 这就是我们接下来要讲的内容了。

依旧是万能的Xcode给我们提供了一个工具 —— symbolicatecrash,这是一个Xcode自带的分析工具,可以通过机器上的崩溃日志和应用的.dSYM文件定位发生崩溃的位置,把Crash日志中的一堆地址替换成代码相应的位置。

如何使用symbolicatecrash分析崩溃日志

  1. 在你的桌面创建一个新文件夹,并且命名为"CrashReport"
  2. 打开终端输入 find /Applications/Xcode.app -name symbolicatecrash -type f,然后终端会返回这个文件的路径,只要找到symbolicatecrash文件, 复制然后粘贴到刚才创建的 "CrashReport" 文件夹里面.
  3. Xcode Archive的二进制文件中找到.dSYM文件和.app文件拷贝到刚才创建的 CrashReport 文件夹里面.
  4. 打开终端进入CrashReport文件夹,依次输入以下命令行:
  • cd /Users/username/Desktop/CrashReport
  • export DEVELOPER_DIR=/Applications/XCode.app/Contents/Developer
  • ./symbolicatecrash ./*.crash ./*.app.dSYM > symbol.crash

这时候终端将会进行处理...... 处理结果是生成一个新的文件symbol.crash。然后打开这个文件。 你就会看到日志跟我们调试APP的控制台输出的内容一样了!

天书变成了可以看懂的崩溃记录,攻城狮们,赶紧改Bug吧。

不知不觉博客更新了一年了,2017的第一篇日志,希望大家新年无Bug。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Youngxj

Wordpress入门建站教程

2.1K50
来自专栏从零开始学自动化测试

Appium+python自动化16-启动ios上Safari浏览器

前言 在mac上搭建appium踩了不少坑,先是版本低了,启动后无限重启模拟器。后来全部升级最新版本,就稳稳的了。本篇介绍如何用appium启动ios上的saf...

57940
来自专栏Google Dart

AngularDart4.0 指南 原

      本文档为Angular的高级部分,如果你刚接触Angular,请先学习Angular。

12320
来自专栏云计算教程系列

如何在Ubuntu 14.04上使用Fail2Ban保护WordPress

WordPress是一个非常强大的内容管理系统(CMS),是免费和开源的。因为任何人都可以发表评论,创建一个帐户,并在WordPress上发帖,许多恶意行为者已...

18000
来自专栏BeJavaGod

创建线程的几种方式

说道线程,肯定会想到使用 java.lang.Thread.java这个类 那么创建线程也主要有2种方式 第一种方式: ? 然后在调用处,执行start方法即可...

34340
来自专栏吾爱乐享

php学习之html标签-超链接属性(四)

21340
来自专栏地方网络工作室的专栏

Vue2+VueRouter2+Webpack+Axios 构建项目实战2017重制版(九)再把内容页面渲染出来

Vue2+VueRouter2+Webpack+Axios 构建项目实战2017重制版(九)再把内容页面渲染出来 前情回顾 在上一篇博文《Vue2+VueRou...

226100
来自专栏Web 开发

ubuntu学习手札——中文设置,源设置等等最基本的

3. 对于类似“哪个源更快”这样的问题,并没有一个标准答案。每个人的网络状况有不同,不同网站的下载速度对会不同。更改完设置之后,在Software Sour...

9310
来自专栏计算机编程

【vue随手笔记】Vue与ios UIwebview 和 Android webview 交互

90730
来自专栏张戈的专栏

WordPress静态缓存三剑客,强力推荐!

之前一直用的 wp-super-cache,效果确实非常不错!网络不出问题的话,页面基本秒开。可惜,这款插件有时候会缓存我的手机主题,导致在电脑上浏览时,呈现的...

47350

扫码关注云+社区

领取腾讯云代金券