美文网首页
.dSYM 文件分析

.dSYM 文件分析

作者: iseerain | 来源:发表于2019-11-16 21:26 被阅读0次
    查看 xxx.app 文件的 UUID
    dwarfdump --uuid xxx.app/xxx
    
    查看 xxx.app.dSYM 文件的 UUID
    dwarfdump --uuid xxx.app.dSYM
    
    查看 xxx.crash文件的 UUID
    xxx.crash 文件内第一行 Incident Identifier 就是该 crash 文件的 UUID。
    
    使用 symbolicatecrash 分析 crash 日志

    xcode 有自带的 symbolicatecrash 工具,可以通过 dSYM 文件将 crash 文件中的16进制地址转换成可读的函数地址。

    • 找到symbolicatecrash的路径
    find /Applications/Xcode.app -name symbolicatecrash -type f
    
    • 设置环境变量
    vim ~/.bash_profile
    
    // 输入如下内容
    export DEVELOPER_DIR="/Applications/Xcode.app/Contents/Developer"
    
    • 将 crash 文件与 dSYM 文件拷贝到 symbolicatecrash 相同目录下
      执行命令获取解析后的 crash 文件
    symbolicatecrash xxx.crash xxx.app.dSYM > crash.txt
    

    Error: "DEVELOPER_DIR" is not defined at ./symbolicatecrash line 69.

    // 设置下
    export DEVELOPER_DIR=/Applications/Xcode.app/Contents/Developer
    
    使用 atos 查询单个堆栈地址
    atos -arch <Binary Architecture> -o XXX.dSYM/Contents/Resources/DWARF/XXX -l <Load Address> <Address to Symbolicate>
    
    atos -arch arm64 -o TheElements.dSYM/Contents/Resources/DWARF/TheElements -l 0x1000e4000 0x00000001000effdc
    

    相关文章

      网友评论

          本文标题:.dSYM 文件分析

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