美文网首页
iOS符号化崩溃日志

iOS符号化崩溃日志

作者: chaoyk | 来源:发表于2017-03-24 15:32 被阅读0次

    一般做项目的时候会碰到一些崩溃的情况。在非调试模式下没有办法判断崩溃在哪里,只能通过崩溃日志来分析,如果崩溃日志在没有符号化的情况下,都是显示的一些内存信息,这样我们就很难找到崩溃的原因。碰到这样的情况我一般都用Xcode自己带的工具来符号化崩溃日志。

    准备工具

    • Xcode
    • dsym文件,应用安装包,崩溃日志
    • 分析工具symbolicatecrash
    • 命令行工具

    符号化崩溃日志

    1. 从设备里面导出崩溃日志

    设备连接Xcode,打开菜单Window->Device(快捷键shift+command+2)选项,选中当前设备,点击View ``Device Logs。如下图所示:

    FC9C28BD-0F57-4FF1-8A3D-F85AF87BF65C.png

    点击以后会出来当前设备的崩溃日志列表。默然选中的就是This Device(当前设备的崩溃日志),可以根据Date/Time找出崩溃的日志,然后在崩溃日志选项右键选择Export Log导出当前的崩溃日志到指定的文件夹。

    1. 导出dsym、应用安装包。

    每次Archive成功,都会有对应的Archive文件生成,文件得路径是/Users/用户名/Library/Developer/Xcode/Archives/目录下。找到对应的文件,打开就会看见对应的Archive文件,右键点击该项目,然后点击显示包内容,就会看到对应的文件夹。dSYMsProducts这两个文件夹里面的内容是我们所需要的。分别打开两个文件夹,找到对应的.dSYM.app文件,把这两个文件跟上一步导出的崩溃日志放在同一个文件夹中。

    CA59C75A-70DF-41D7-A02D-2EB146D1AABC.png
    1. 符号化工具(symbolicatecrash)

    本人用的是Xcode8,工具路径是/Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources/symbolicatecrash

    如果路径错误的话可以尝试这个路径:/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/PrivateFrameworks/DTDeviceKitBase.framework/Versions/A/Resources/symbolicatecrash

    找到对应的工具 可以复制一份放到桌面上下次方便使用。

    1. 打开终端(Terminal)

    在终端里面打开步骤2中保存崩溃文件夹的路径,然后输入export DEVELOPER_DIR=/Applications/Xcode.app/Contents/Developer

    然后处理命令行 /Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources/symbolicatecrash appName.app appName.crash > appName.log

    然后符号化后的文件就在当前的文件夹中。

    相关文章

      网友评论

          本文标题:iOS符号化崩溃日志

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