美文网首页
iOS 崩溃日志分析

iOS 崩溃日志分析

作者: 刃之剑 | 来源:发表于2020-03-13 13:39 被阅读0次

    要分析崩溃日志,首先需要保留发布时的编译出来的.xcarchive文件。这个文件包含了.DSYM文件

    第一种方法:

    使用dwarfdump命令

    dwarfdump --uuid xx.app.dSYM     用来得到app的UUID。

    dwarfdump --lookup 0x12b45d -arch armv7 xx.app.dSYM  使错误的日志能看懂,把相应的内存地址对应到正确的地方。

    如果一开始dwarfdump命令不能用的话,要先装Command Line Tools,这个在设置里面能下载(cmd+“,”打开设置)。另外还必须在进入.DSYM所在文件夹。

    使用dwarfdump需要安装Command Line Tools,XCode里设置下载。而且需要进入.DSYM所在文件夹里进行操作。

    第二种方法:

    使用xcrun atos命令

    atos -o YourApp.app.dSYM/Contents/Resources/DWARF/YourApp 0x00062867

    下面重点推荐下这个方法,方便快捷

    第三方法:可视化工具

    下面这是我的项目里通过友盟统计到的崩溃日志,如果光看这些日志报告的话,是不会知道是哪行代码引起的。

    使用方法是把对应版本的.xcarchive文件拖到工具。对比UUID和友盟里日志是否一致,一致就把错误的地址信息拷贝到箭头处。点击分析。

    即可得出具体代码崩溃位置。

    2020-3-27更新--->


    手动生成dysm文件

    /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/dsymutil  /Users/yym/Library/Developer/Xcode/Archives/2020-03-27/HuoGameBox\ 2020-3-27\,\ 4.39\ PM.xcarchive/Products/Applications/HuoGameBox.app/HuoGameBox  -o HuoGameBox.app.dSYM

    no debug symbols in executable (-arch armv7)

    bugly

    https://bugly.qq.com/docs/user-guide/symbol-configuration-ios/?v=1492997248592

    XCode -> Build Settings -> Code Generation -> Generate Debug Symbols -> Yes

    这个很重要,有的APP需要自己做签名可能把这个勾掉了

    XCode -> Build Settings -> Build Option -> Debug Information Format -> DWARF with dSYM File

    相关文章

      网友评论

          本文标题:iOS 崩溃日志分析

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