极光错误详情
类似这种格式的 项目名 内存地址 项目名+数字
我们需要使用其中的内存地址
需要的资源:
项目打包上线时本地会生成有一个编译文件如下图:
然后对应线上版本 打开所在文件夹 看到 这个下图第一个文件
下图第2、3个文件都在第一个文件中 请把他们都复制到一个单独的文件夹存放这三个文件
开始查找错误:
- 查看 xx.app 文件的 UUID,terminal 中输入命令 :
dwarfdump --uuid xx.app/xx (xx代表你的项目名)
- 查看 xx.app.dSYM 文件的 UUID ,在 terminal 中输入命令:
dwarfdump --uuid xx.app.dSYM
- 如果UUID一致 则为同一版本 则进行下一步
cd到三个文件的所在目录下,执行命令:
dwarfdump --arch=arm64 --lookup=[崩溃日志上项目对应的某崩溃地址] [dSYM文件的绝对路径]
(注意 如果路径中存在空格 可用“”包含其完整路径)
分析终端错误日志
1、这一行告诉我们崩溃的代码所在的文件的目录
Line table dir : '所在文件路径'
2、这一行告诉我们崩溃代码所在的具体文件
AT_decl_file( "路径/类名" )
3、这一行告诉我们崩溃代码是在哪一个方法里面
AT_name( "方法名" )
4、这一行告诉我们崩溃代码具体在哪一行了
Line table file: '类名' line 680, column 9 with start address 0x000000010073faf8
好的,现在我们分析到了崩溃代码在哪一行了,下面我们来找一找bug
查找bug
我们的代码都应该有托管平台,每个版本上线都需要打一个tag,这是一个好习惯。下面我拉下我崩溃的对应版本的tag,找到崩溃代码那一行,然后解决就可以了 。