美文网首页
iOS 中崩溃 .crash文件符号化解析(使用Xcode自带工

iOS 中崩溃 .crash文件符号化解析(使用Xcode自带工

作者: 回忆式_想念 | 来源:发表于2017-12-21 15:03 被阅读0次

    想要解析.crash文件,必须需要产生改崩溃日志包的.ipa文件和.app.dSYM文件
    当然首先我们需要找到我们的解析工具symbolicatecrash

    一 找出symbolicatecrash工具

    使用

    find /Applications/Xcode.app -name symbolicatecrash -type f
    

    查找的路径中有如下一个路径

    /Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources/symbolicatecrash
    

    使用Finder(访达)前往文件夹前往该文件夹处,拷贝出symbolicatecrash工具放入一个新建的文件夹中(例如crash)

    二 找出.app文件和.app.dSYM文件

    打开Xcode->Window->Organizer找到Archives找到App->右击Show in Finder
    右击XXXXX.xcarchive文件 显示包内容 可看到如图内容


    Snip20171221_1.png

    在dSYMs文件夹中找到对应的XXX.app.dSYM文件,在Products下的Applications目录下的如图文件


    Snip20171221_2.png
    和.crash 文件一起放入crash目录下
    crash目录结构如图
    Snip20171221_4.png

    三 执行symbolicatecrash

    首先进入到crash目录结构
    执行

    ./symbolicatecrash XXX.crash XXX.app.dSYM > jieguo.crash
    其中XXX为工程的名称 jieguo.crash 为解析后产生的文件
    

    如果报错 Error: "DEVELOPER_DIR" is not defined at ./symbolicatecrash line 69. 需要 执行命令

    export DEVELOPER_DIR="/Applications/XCode.app/Contents/Developer"
    

    然后重新 输入命令

    ./symbolicatecrash XXX.crash XXX.app.dSYM > jieguo.crash
    
    执行完成后如图 Snip20171221_5.png

    打开jieguo.crash文件,你就可以定位崩溃信息了。

    四 注意点

    需要注意的事.app.dSYM文件和app文件和.crash文件必须是同一次打包产生的。
    验证是否为同一包产生可以根据各文件的uuid是否一致
    查看 XXX.app 文件的 UUID,终端中输入命令 (其中XXX为项目名)

    dwarfdump --uuid XXX.app/XXX 
    

    查看XXX.app.dSYM 文件的 UUID ,在 终端 中输入命令

    dwarfdump --uuid XXX.app.dSYM
    

    查看.crash文件的uuid
    打开.crash 查找Binary Images:
    如图框内就是该文件的uuid


    Snip20171221_6.png

    相关文章

      网友评论

          本文标题:iOS 中崩溃 .crash文件符号化解析(使用Xcode自带工

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