美文网首页应用提交问题#iOS#HeminWon
iOS 使用symbolicatecrash分析crash文件

iOS 使用symbolicatecrash分析crash文件

作者: Minoz_min | 来源:发表于2016-03-30 12:34 被阅读1390次

    iOS 使用symbolicatecrash分析crash文件

    首先,在桌面建一个文件夹crash,接着需要准备4个文件:

    • 1、崩溃日志.crash:Xcode->Window->Devices,选中设备,点击View Device Logs,然后可以看到好多日志,你可以根据时间来判断需要导出哪个日志,选中一个crash日志,右击选择Export log,然后就可以导出日志为aaa.crash,复制到crash文件。(如果有其他xx.log文件,直接将后缀改成xx.crash即可)

    • 2、xxx.app.dSYM文件:Xcode->Window->Organizer,打到之前的ipa文件,右击Show in Finder,可以看到XXX.xcarchive文件,右击显示包内容可以看到一个名字dSYMs的文件里面会有一个xxx.app.dSYM文件,复制到crash文件。

    • 3、.app文件:找到导出的xxx.ipa文件,右击->打开方式->归档实用工具,然后看到一个名为Payload的文件,把里面的app文件复制到crash文件。

    • 4、symbolicatecrash路径:
      Xcode7.3 以前 symbolicatecrash路径
      /Applications/Xcode.app/Contents/SharedFrameworks/DTDeviceKitBase.framework/Versions/A/Resources/symbolicatecrash
      或者 在应用程序里找到Xcode->显示包内容可以找到Contents文件,把symbolicatecrash复制到crash文件。
      Xcode7.3 symbolicatecrash路径
      /Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources/symbolicatecrash

    更新Xcode版本可能会出错:
    can't find tool named 'otool' in the macosx SDK or any fallback SDKs at /Users/xxx/Desktop/crash/symbolicatecrash line 121.
    解决方法是:在终端运行如下命令,找到symbolicatecrash这个的新路径
    find /Applications/Xcode.app -name symbolicatecrash -type f

    然后,打开终端,到crash文件目录下cd crash文件路径(可以直接把文件拖到终端,就可以看到crash的路径)

    接着输入./symbolicatecrash /Users/本机用户名/Desktop/crash/aaa.crash / Users/本机用户名/Desktop/crash/xxx.app.dSYM > new_symbol.cash,其中本机用户名和文件名称自己替换

    • 1 ./symbolicatecrash 这个也可以直接把symbolicatecrash这个工具直接拖到终端来查看路径

    • 2 /Users/haoshiqi/Desktop/crash/haoshiqi.crash这个是aaa.crash(以本例为例) 的文件路径,直接拖到终端就可能看到文件路径

    • 3 / Users/haoshiqi/Desktop/crash/Haoshiqi.app.dSYM这个是xxx.app.dSYM(以本例为例),同样拖到终端就可以看到文件路径

    • [x] 运行完上面这句可能会出现以下问题:Error: "DEVELOPER_DIR" is not defined at ./symbolicatecrash line 60.

    • [x] 解决方法是输入以下命令:(xcode-select --print-path 可以找到DEVELOPER_DIR)
      export DEVELOPER_DIR="/Applications/Xcode.app/Contents/Developer"

    • [x] 再接着输入./symbolicatecrash /Users/本机用户名/Desktop/crash/aaa.crash / Users/本机用户名/Desktop/crash/xxx.app.dSYM > new_symbol.crash

    • [x] 最后在aaa.crash文件中就多了个new_symbol.crash文件,这个就是解析后的crash文件

    相关文章

      网友评论

      • loghm:你好,我得到的Control_symbol.crash文件是空的?
        Minoz_min:具体什么情况我也不太清楚,我每次都是用这个解析的:flushed:
        loghm:感谢回答!我把文件夹名称改成英文,解析完之后,Control_symbol.crash的文件和原来的.crash文件一模一样,没有定位到具体函数,还是看不懂是为什么?
        Minoz_min:@loghm 那就是那样解析成功:flushed:
      • 这个昵称就很帅:.app文件是做什么用的?之前看过一篇文章没有说需要 .app文件。求解答
        Minoz_min:@这个昵称就很帅 我上面说的很清楚啊:flushed:
      • 这个昵称就很帅:我最后得到的crash文件和之前的内容是一样的,怎么回事?

      本文标题:iOS 使用symbolicatecrash分析crash文件

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