美文网首页工程架构系统层知识
iOS手动解析crash符号表

iOS手动解析crash符号表

作者: iOS_Ru | 来源:发表于2019-03-20 12:56 被阅读63次

    监测crash的三方平台Bugly 等支持解析Crash日志,但是要你提供dsym符号表;
    所以每次打包的dsym表要保存,便于查找crash定位。

    虽然各个平台都支持直接解析crash日志,但是手动解析的也要了解一下。
    1.在桌面新建个一个文件夹 temp

    2.这里要用到xcode自带的工具 symbolicatecrash 工具,这个工具的位置可以找到,通过下面命令

    find /Applications/Xcode.app -name symbolicatecrash
    

    搜索后的结果是

    /Applications/Xcode.app/Contents/Developer/Platforms/WatchSimulator.platform/Developer/Library/PrivateFrameworks/DVTFoundation.framework/symbolicatecrash
    /Applications/Xcode.app/Contents/Developer/Platforms/AppleTVSimulator.platform/Developer/Library/PrivateFrameworks/DVTFoundation.framework/symbolicatecrash
    /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/Library/PrivateFrameworks/DVTFoundation.framework/symbolicatecrash
    /Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources/symbolicatecrash
    

    分别对应不同平台的。

    3.复制 symbolicatecrash 到 刚才新建的文件夹 temp

    1. 把对应的Crash 日式 复制到 temp 文件夹

    5.把 对应的 dsym符号表 复制到 temp 文件夹

    1. cd 到该temp 目录下
    运行 symbolicatecrash 工具
     ./symbolicatecrash crash日志 ***.dSYM  > symbol.txt
    

    第6部报错
    Error: "DEVELOPER_DIR" is not defined at ./symbolicatecrash line 69.
    使用下面命令即可

    export DEVELOPER_DIR=/Applications/Xcode.app/Contents/Developer
    

    然后打开 symbol.text 就是解析后的文件 就可以定位到具体的位置.

    
    xcrun dwarfdump --uuid <dSYM文件路径>
    

    相关文章

      网友评论

        本文标题:iOS手动解析crash符号表

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