美文网首页
iOS崩溃符号表解析(一)使用symbolicatecrash拉

iOS崩溃符号表解析(一)使用symbolicatecrash拉

作者: iOS代码搬运工 | 来源:发表于2020-12-05 15:26 被阅读0次

    因项目中碰到一个符号表使用Xcode12打包出来的framework给到另外一个团队,另外一个团队(不在一个职场)用Xcode 11.3进行打包集成出现了符号表解析不了的问题.(虽然最终是通过Xcode11.5 或11.2)打包framework成功了。
    !!!注意后面测试过用哪个版本Archive的就只能同时用该版本。
    (比如用Xcode11.2Archive的,但是后面的操作用Xcode12进行会失败)
    但是也有必要记录下符号表的解析的问题。

    1、制造崩溃

    制造一个方法未实现的崩溃

    2、拿到符号表(.DSYM)

    Archive之后可以右击Show in Finder拿到DSYM文件

    Archive包列表
    DSYM路径

    3、安装ipa并复现崩溃

    在第二步中导出ipa,用Xcode中的Window->Devices and Simulators快速安装ipa包

    点击+号选择需要安装的ipa文件
    安装完成打开APP,APP闪退

    4、拉取系统崩溃日志信息文件(.crash)

    系统崩溃日志位于(我的手机iOS13.7,不同系统可能有差异,但大同小异)设置->隐私->分析与改进->分析数据
    找到崩溃的日志信息(.ips)导出到电脑中,并将后缀名改为.crash。

    5、symbolicatecrash工具

    打开终端,输入find /Applications/Xcode11.2.app -name symbolicatecrash -type f(我这边是用Xcode11.2编译的)获取列表,然后复制含有DVTFoundation的路径,然后前往文件夹copy出来,把这三个文件放在同一个文件夹

    .DSYM,.crash, symbolicatecrash放在同一个文件夹

    6、合成symbol.crash文件

    cd到文件夹,执行./symbolicatecrash ./Lingkabao-2020-12-05-100602.crash ./Lingkabao.app.dSYM/ > symbol.crash

    执行出错
    如果出现
    Error: "DEVELOPER_DIR" is not defined at ./symbolicatecrash line 69.
    

    则先执行

    export DEVELOPER_DIR=/Applications/XCode11.2.app/Contents/Developer
    

    再执行

    ./symbolicatecrash ./Lingkabao-2020-12-05-100602.crash ./Lingkabao.app.dSYM/ > symbol.crash
    

    通过后文件夹就会出现一份symbol.crash文件,里面就是你想要的了


    image.png

    右击.crash文件,选择使用Xcode11.2打开(因我本地有两个Xcode版本,使用Xcode11.2才行,否则找不到崩溃堆栈)选择自己的项目点击Open


    选择自己的项目
    最终效果

    参考: iOS审核 Exception Type: EXC_CRASH (SIGKILL)

    相关文章

      网友评论

          本文标题:iOS崩溃符号表解析(一)使用symbolicatecrash拉

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