美文网首页程序员
iOS 运用脚本解析Crash文件

iOS 运用脚本解析Crash文件

作者: 卢叁 | 来源:发表于2020-10-27 16:07 被阅读0次

每次解析crash文件的时候都要敲一遍冗长命令,所以弄个脚本来解析闪退信息,需要以下3个文件:
1.dSYM文件
首先通过Xcode的菜单选项Window->Organizer拿到.xcarchive文件。通过右键显示包内容可以看到一个dSYMs文件夹,dSYMs文件就在这个文件夹下。如果有多个dSYMs文件,只选主工程的dSYMs文件就行,小组件那些文件不用。
2.symbolicatecrash工具
脚本里面已经设置了此工具的路径了,直接用就行。symbolToolPath路径在不同版本的Xcode中路径可能不同,找到symbolicatecrash的路径替换就可以了。
3.crash文件
获取crash文件有很多种方法,其中比较常用的有:

通过Xcode->Window->Devices and Simulators->View Device Logs获取到。
通过Xcode->Window->Organizer->Crashes下载闪退文件。
通过监控平台(譬如BugTags)获取。

复制下面的脚本,随便命个名字譬如CrashSymbolic.sh,然后和上面的dSYM和crash两个文件一起放进同一个文件夹,打开终端进入文件夹后运行脚本命令即可:

sh CrashSymbolic.sh

然后就会生成解析好的symbol.crash
CrashSymbolic.sh代码如下:

#!/bin/bash

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

echo "----开始 第一个参数是crash路径 -----"

symbolToolPath="./symbolicatecrash"
crashPath=""
dSYMPath=""

if [ ! -f "$symbolToolPath" ]
then
    echo "文件为特殊文件"
    symbolToolPath="/Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources/symbolicatecrash"
    echo "symbolicatecrash工具的路径是为:"$symbolToolPath
    if [ -f "$symbolToolPath" ]
    then 
        echo "symbolicatecrash工具存在(文件为普通文件)"
    else
        echo "无法找到symbolicatecrash工具"
    fi
fi

function findFile(){
    crashPath=$(find . -name "*.crash")
}

if [ -n "$1" ]
then
    crashPath=$1
    echo "已传入crash文件路径:$crashPath"
else
    findFile
    echo "未传入crash文件路径,搜索同级目录下crash文件"
fi

if [ ! -f "$crashPath" ]
then
    echo "搜索失败,无法找到crash文件"
    exit
fi

dSYMPath=$(find . -name "*.dSYM" -print)
echo "找到的符号表路径:$dSYMPath"

if [ ! -d $dSYMPath ]
then
    echo "无法找到符号表dSYM文件"
    exit
fi

# ./symbolicatecrash ./*.crash ./*.app.dSYM > symbol.crash
$symbolToolPath $crashPath $dSYMPath > symbol.crash

问题一:Error: "DEVELOPER_DIR" is not defined at ./symbolicatecrash line 69.
解决方法: 终端执行下面的命令设置环境变量
export DEVELOPER_DIR=/Applications/XCode.app/Contents/Developer。脚本已经执行了。
问题二:如果报 warning: unsupported file type:错误,看看是不是因为有文件或者目录的名称中包含空格,或者dSYM文件包含有其它文件。

相关文章

  • iOS 运用脚本解析Crash文件

    每次解析crash文件的时候都要敲一遍冗长命令,所以弄个脚本来解析闪退信息,需要以下3个文件:1.dSYM文件首先...

  • 【iOS开发】Crash 文件解析

    一、Crash文件解析参考文章:iOS: Crash文件解析(一)分析iOS Crash文件:符号化iOS Cra...

  • iOS之解析审核Crash Log方式(二)

    导读 iOS之解析审核Crash Log方式(一) 准备 MAC电脑一台 Xcode 文件(crash文件、dSY...

  • crash

    iOS Crash文件的解析(一)教你如何对ios崩溃(crash)日志做符号化IOS本地日志记录解决方案友盟统计...

  • iOS 通过ips分析crash

    注:ips文件和crash文件不一样,Xcode13,iOS15以前设备ips文件改后缀成crash可以解析,但是...

  • iOS .crash 文件解析,导出 dsym symbolic

    导出手机上的crash 文件 导出之后解析 crash文件 解析crash 文件需要 dsym(符号表)文件和 s...

  • 一步搞定iOS崩溃日志解析

    iOS崩溃日志文件(.crash或.ips)解析 一步搞定: Xcode -> Window -> Devices...

  • Error: "DEVELOPER_DIR" is not de

    手动解析iOS crash文件时候,会出现这个报错 输入下面的命令就可以了

  • iOS Crash 文件解析

    一、Crash文件结构 当程序运行Crash的时候,系统会把运行的最后时刻的运行信息记录下来,存储到一个文件中,也...

  • iOS Crash文件解析

    一、Crash文件结构 当程序运行Crash的时候,系统会把运行的最后时刻的运行信息记录下来,存储到一个文件中,也...

网友评论

    本文标题:iOS 运用脚本解析Crash文件

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