美文网首页ios开发经验
iOS使用.dSYM文件和DSYMTools工具定位Crash位

iOS使用.dSYM文件和DSYMTools工具定位Crash位

作者: 愤斗的小蚂蚁 | 来源:发表于2020-08-05 09:39 被阅读0次
    MORE CODING,MORE BUG;MORE BUG,MORE HAPPY.

    描述:文章以Debug模式为例,收集Crash日志,使用DSYMTools工具分析出引起Crash的具体代码位置。App已经上线App Store,同样方式分析第三方友盟、云测、百度等或自己收集的Crash日志定位具体位置。
    环境:XCode11.6
    真机:iPhoneX,ios13.5.1
    工具:DSYMTools源码 , DSYMTools.app网盘(密码: 6n0b)
    问题:定位Crash

    一、前提设置:为了方便测试,如图所示,请将Debug Information Format的Debug和Releae两种模式都选定为DWARF with dSYM File。不要忘了哦 image.png

    二、在Tabbed App的SecondViewController埋个坑。 image.png

    三、Clean工程,在Debug模式下真机运行。终止运行,触发几次坑,APP 直接Crash。收集真机Crash日志,分析堆栈信息。 image.png image.png

    四、获取xxx.dSYM文件。打开DSYMTools工具,将xxx.dSYM直接拖入DSYMTools工具面板中。 image.png image.png

    四、输入数据

    [默认 Slide Address]:替换为步骤三--图2中的16进制值0x102849f14
    [错误信息内存地址]:转换计算过程如下
    1),将上图中16进制值0x102849f14转换为十进制值4337213204
    2),将十进制值4337213204加上上图中十进制值24340,求和为4337237544
    3),将求和结果4337237544转换为16进制值0x10284fe28,输入到工具中。

      16进制  转换为 十进制
    0x102849f14  4337213204
                   +  24340 求和
                 4337237544   0x10284fe28
                   十进制  转换为 16进制
    
    image.png

    五、分析后,准确定位Crash位置,与步骤二中坑信息一致。

    相关文章

      网友评论

        本文标题:iOS使用.dSYM文件和DSYMTools工具定位Crash位

        本文链接:https://www.haomeiwen.com/subject/ryzvrktx.html