您好,欢迎来到伴沃教育。
搜索
您的当前位置:首页iOS批量分析并统计Crash日志atos atosl symb

iOS批量分析并统计Crash日志atos atosl symb

来源:伴沃教育

需求及可行性分析

  1. 在Linux下直接用atosl工具符号化crash日志;
  2. 在Mac下,从服务端批量拉取crash日志文件,对crash做符号化,并提取里面字段插入数据库,供统计展示使用。需要用脚本定时自动化去跑。
    分析:
    针对第一种在Linux下分析,这种难度较高,atosl是多年前开源的一个工具,现在已不维护,经过修改后,只能解出部分arm64日志文件,,依然不能正常工作,运行性能也不高,所以放弃;
    第二种解决方案中,Mac下对符号化支持比较好,atos或者symbolicate符号化工具,可行性较高。

使用工具

执行方案

采用如下流程:

Mac下符号化并统计图解
在SYM程序中,已把信息提取出来,并把每一行的数据以tab分割,结尾处以回车分割,插入到文件~/Documents/Crash/sql.txt,这样文件中,每一行为数据库中的每一条数据。

数据库

安装好数据库,建好数据库名(crash),表名(oaim)。
在db.sh脚本中做从文件中读取数据,插入到数据中的操作:

mysql --host=localhost --user=youusername --password=yourpassword crash << EOF
load data local infile '~/Documents/Crash/sql.txt' into table oaim columns terminated by '\t';
# insert into oaim_st(identifier, time,title, description) values ('iidd13434','2017-09-12', 'tdfdfdfdfdfdfdfdfesttewfsdfdf');
EOF

第三行为单行插入,已注释掉。

run script

在crash.sh中,这样去写:

#!/bin/bash
# 打开SYM打包好的Mac app
open ~/Documents/soft/SYM.app
# 打开后自动符号化特定目录下的crash文件,根据估算,这里写了个40秒
sleep 40
# 40秒后,关闭app
osascript -e 'quit app "SYM"'
echo "save sql.txt finished"
# 执行存储到数据库的脚本
. ~/test/db.sh
sleep 10
echo "load sql.txt to mysql finished!"
# 清理文件
rm -rf /Users/Shawn/Documents/Crash/sql.txt
echo "clean sql.txt" finished

Copyright © 2019- bangwoyixia.com 版权所有 湘ICP备2023022004号-2

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务