前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >atos命令解析iOS/Mac 崩溃日志

atos命令解析iOS/Mac 崩溃日志

原创
作者头像
zqh
修改2024-01-24 14:33:56
6140
修改2024-01-24 14:33:56
举报
文章被收录于专栏:zqhzqh

这里简单介绍下怎么通过atos命令来解析iOS/Mac 崩溃日志,适合拿到一份未经符号化的crash日志需要开发人员手动符号化的场景

注意:我们每次Archives一个包之后都会随之生成一个dSYM文件。每次发布版本的时候需要备份此版本的这个文件,方便以后的调试。

一、拿到crash日志和dSYM文件

崩溃日志可以从xcode里打开Devices看到对应手机的一些崩溃信息,点击下图的View Device Logs就能看到崩溃日志。

获取dSYM文件在Archives里选中包,Show in Finder,显示包内容,dSYMs文件夹内有各个库的dSYM文件

如果项目archive之后没有生成dSYM文件,看看Target的Build Settings中Debug Information Format是不是DWARF with dSYM File。

DWARF with dSYM File
DWARF with dSYM File

二:验证下crash日志、dSYM文件的uuid是否一致

(是一个应用版本的可略过)

控制台输入命令查看dSYM文的uuid:

1、使用 cd 命令进入包含 dSYM 文件的目录

2、输入以下命令并按回车键:

代码语言:bash
复制
dwarfdump -u YourApp.app.dSYM | grep -o -E '([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})'
查看dSYM文的uuid
查看dSYM文的uuid

crash日志里搜索Binary Images 找到对应的库,下图红框<>内就是对应库的uuid

Binary Images
Binary Images

三、确认手机是armv7 or arm64

还是看第二步的Binary Images:处,上图标注的arm64

四、输入atos命令解析crash日志

常用的命令就一个

代码语言:bash
复制
atos -arch arm64/armv7 -o yourAppName.app.dSYM/ -l <load-address> <stack address>

在日志里搜索“crashed”找到crashed的Thread,使用对应包名的dSYM 文件(这里以TXLiteAVSDK_TRTC为例)使用atos命令去按行解析

这里在控制台输入以下命令

代码语言:bash
复制
atos -arch arm64 -o dSYM文件存放路径/TXLiteAVSDK_TRTC_arm64.dSYM/ -l 0x1034a4000 0x000000010356d8a4 

(红线部分是load address,蓝线部分是stack address)

希望能帮助到你~

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、拿到crash日志和dSYM文件
  • 二:验证下crash日志、dSYM文件的uuid是否一致
  • 三、确认手机是armv7 or arm64
  • 四、输入atos命令解析crash日志
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com