iOS崩溃日志解析

# !/bin/sh
 
INPUTFILE=$1
 
#echo "extension:${INPUTFILE##*.}"
 
DSYM_FILE=""
#从目录中查找dSYM文件
#参数1:文件路径
function findSymbolFileInFolder() {
    echo $(pwd)
    for file in `find "$(pwd)"`
    do
        extension="${file##*.}"
        if [ "$extension" == "dSYM" ]
        then
            DSYM_FILE=${file}
            echo "Find dSYM: ${DSYM_FILE}"
        fi
    done
}
 
#获取文件名
#echo "filename:${INPUTFILE%.*}"
FILENAME=${INPUTFILE%.*}
OUTFILE=$FILENAME.log
 
echo "InputFile:${INPUTFILE}, OutputFile:${OUTFILE}"
 
#检查dSYM文件
findSymbolFileInFolder
 
if [[ -z ${DSYM_FILE} ]]; then
    echo "[******************** Checking file failed: No dSYM!!!, now ending... ********************]\n"
    exit
fi
 
dwarfdump --uuid ${DSYM_FILE}
echo "Now analysing..."
 
#环境变量设置
export DEVELOPER_DIR="/Applications/Xcode.app/Contents/Developer"
 
#将解析工具拷贝到当前目录下
cp /Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources/symbolicatecrash symbolicatecrash
#./symbolicatecrash ${INPUTFILE} LCIphoneAdhocIP.app > ${OUTFILE}
./symbolicatecrash ${INPUTFILE} > ${OUTFILE}
 
echo "Succeed..."
 
#打开解析后的日志
open ${OUTFILE}


简单的日志解析脚本,方便使用,用法:

    将decode.sh拷贝到符号文件同目录下
    控制端输入 ./decod.sh filename.extension,如./decode 1.crash
     完成后自动输出 filename.log,如1.log

猜你喜欢

转载自blog.csdn.net/super_man_ww/article/details/122990498