zoukankan      html  css  js  c++  java
  • Crash日志符号化

    1.符号化crash日志需要3样东西:

    1).crash日志本身(如:example.crash),从Xcode的organizer导出或者来自Itunes Connect.

    2).crash日志所对应的.app包(如:example.app)如果你有的是.ipa包,你可以解压后在Payload/文件夹下获得.app包

    3).crash日志多对应的.dSYM包

    2.开始符号化之前,先检查一下以上3样东西是否相对应(UUID):

    crash日志中可以看到类似一下内容:

    ...
    Binary Images:
       0xe1000 -   0x1f0fff +example armv7  <aa5e633efda8346cab92b01320043dc3> /var/mobile/Applications/9FB5D11F-42C0-42CA-A336-4B99FF97708F/example.app/example
    0x2febf000 - 0x2fedffff  dyld armv7s  <4047d926f58e36b98da92ab7a93a8aaf> /usr/lib/dyld
    ...

     说明,这个二进制镜像名为 example.app/example,UUID为 aa5e633efda8346cab92b01320043dc3 .

     可以用以下命令检查.app的UUID:

    dwarfdump --uuid example.app/example
    UUID: AA5E633E-FDA8-346C-AB92-B01320043DC3 (armv7) example.app/example

     检查.dSYM文件的UUID:

    dwarfdump --uuid example.app.dSYM
    UUID: AA5E633E-FDA8-346C-AB92-B01320043DC3 (armv7) example.app.dSYM/Contents/Resources/DWARF/example

    3.使用symbolicatecrash脚本

    如果是Xcode 6.1,使用:

    /Applications/Xcode.app/Contents/SharedFrameworks/DTDeviceKitBase.framework/Versions/A/Resources/symbolicatecrash -v example.crash 2> symbolicate.log

    如果找不到该脚本,使用:

    find . -name symbolicatecrash

    用终端查找和crash日志中的uuid一只的符号文件:

    mdfind "com_apple_xcode_dsym_uuids == AA5E633E-FDA8-346C-AB92-B01320043DC3"

    如果遇到 "DEVELOPER_DIR" is not defined 的报错,执行以下命令:

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

    2.使用终端符号化日志:

    xcrun atos -o MyApp.app/MyApp -arch armv7 -l 0xb7000 -f MyApp.crash

    其中0xb7000就是crash日子中紧跟"Binary Images:"后面的地址

    参考:

    http://support.hockeyapp.net/kb/client-integration-ios-mac-os-x/how-to-solve-symbolication-problems

    http://stackoverflow.com/questions/1460892/symbolicating-iphone-app-crash-reports

  • 相关阅读:
    利用 PHP 导出 Git 某个分支下,新增或修改过的文件
    [翻译] 10 个实用的 Git 高级命令
    Django web project
    install virtualenv
    js原型继承
    HTML 学习杂记
    IDEA 文件列表隐藏某后缀文件
    coocsCreator杂记
    mac install brew
    c编程:输入一个数字n,则n代表n行,每行输入2个数字a,b计算每行的a+b问题。
  • 原文地址:https://www.cnblogs.com/jay-dong/p/4139687.html
Copyright © 2011-2022 走看看