解析dSYM文件

全文概要:

1.如何定位bug

2.如何设置全局断点

3.如何导出dSYM文件

4.崩溃分析,解析dSYM文件


一.当app在运行中崩溃了,我们如何定位有问题的代码

    有2种方式:

        1.在Xcode中打全局断点,重新run一次,复现崩溃,Xcode会自动跳转到有问题的代码那一行;

        2.当线上app运行时通过dSYM文件定位bug。


二.如何设置全局断点

    1.在Xcode的左侧导航区,点击左方又尖的图标->点击左下角的加号->选择Exception BreakPoint,如图1.1:


1.1

    2.选择后会弹出提示框如图1.2,点击空白处提示框就会消失,这样就设置好了全局断点,如果有其它断点需求,可以自行点击选项进行设置。 

1.2

三.每 Archive 一次,都会生成 dSYM 文件,如何导出 dSYM 文件

    1.找到Xcode工具栏->Window->Organizer->目标项目->右键 Show in Finder -> 显示包内容-> dSYMs 中的 xx.app.dSYM 就是我们要找的 dSYM 文件,如图2.1:

2.1

四.崩溃分析

   1.需要三个文件:崩溃时产生的Crash文件(本文将它命名为 crash )、打包时产生的 dSYM 文件、symbolicatecrash(Xcode自带的崩溃分析工具),建一个文件夹把上述3个文件放到这个文件夹中,文件夹的名字可以任意命名,我在这里命名为 Crash;

    注:命令行查找 symbolicatecrash 路径的命令:find /Applications/Xcode.app -name symbolicatecrash -type f

    2.用命令行解析文件:

        2.1. 先切换到 Crash 文件目录, 输入cd ,然后将 Crash 文件拖入命令行,再按回车键;

        2.2.设置环境变量:exportDEVELOPER_DIR=/Applications/XCode.app/Contents/Developer 或 export DEVELOPER_DIR=$(xcode-select --print-path),两句的作用是一样的,哪一句都可以。这一句命令是非必须的,可以跳过这一步直接执行2.3,当2.3执行不成功时再执行这一步。也可以先执行这一步,更保险一些,如图3.1:


3.1

        2.3使用命令解析Crash文件:

            symbolicatecrash 路径 + crash 路径 + dSYM 路径 + ">" 解析后生成的文件名。

            注:在命令行中写的时候不需要 + 和 "",解析后生成的文件名随便取,本文取名"symbol.txt"

            例:./symbolicatecrash ./crash ./Demo.app.dSYM > symbol.txt, 如图3.2


3.2

此时在看Crash文件中就会发现多处一个 symbol.txt 文件,这个文件就是我们所需要的解析过的崩溃信息文件。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 开发的App或者游戏提交审核后,偶尔会收到测试反馈的消息,说应用崩溃了,bug偶尔出现,难以找到确定的重现方法。怎...
    sky_kYU阅读 5,266评论 0 0
  • 前言 iOS崩溃是让iOS开发人员比较头痛的事情,app崩溃了,说明代码写的有问题,这时如何快速定位到崩溃的地方很...
    齐滇大圣阅读 65,686评论 29 443
  • 如果大家是用真机在调试的过程中出现了Crash,那么请看iOS调试之 crash log分析 前言 导读:Unde...
    KODIE阅读 11,564评论 7 12
  • LLVM简介 XCode4.0以后,LLVM是构架编译器(compiler)的框架系统,以C++编写而成,用于优化...
    苦工阅读 13,327评论 1 16
  • 该文章属于刘小壮原创,转载请注明:刘小壮[https://www.jianshu.com/u/2de707c93d...
    刘小壮阅读 38,015评论 45 121

友情链接更多精彩内容