博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
dwarfdump解析线上崩溃日志dSYM文件
阅读量:6686 次
发布时间:2019-06-25

本文共 1580 字,大约阅读时间需要 5 分钟。

  hot3.png

1、dSYM文件:iOS构建时产生的符号表,它是内存地址与函数名,文件名,行号的映射表;iOS应用crash时也有堆栈,release版的应用,crash时的堆栈信息,全是二进制的地址信息;iOS平台中,dSYM文件是保存符号表的目标文件,文件名通常为:xxx.dSYM(符号表dSYM概念和获得途径资料地址)

2、线上崩溃时采用的dSYM文件: 在xcode7以前 xcode7默认BitCode是关闭的;xcode7以后BitCode默认是开启的;当开启BitCode后,在构建二进制版本ipa文件上传到App Store时,App Store会再次编译上传的二进制版本ipa包,因此,在解析线上崩溃日志时,采用苹果开发者中心上的dSYM文件;当没有开启BitCode时,可以使用本地的xx.app.dSYM的dSYM文件;

 

一、当BitCode没开启时,解析线上崩溃日志方法如下:

使用工具dSYMTools(下载地址:),下载完,运行dSYMTools(注意是一个macos应用),将对应版本的xcarchive文件或则xx.app.dSYM文件拖拽到dSYMTools控制面板就可以了,将崩溃的内存地址输入进去点击分析就会自动分析出可能出错的地方(效果如下);

 

二、当BitCode开启了时,解析线上崩溃日志方法如下:

umeng崩溃日志解析方法:

两种方式:

1、利用错误解析工具 但是该工具不能调试Application received signal SIGSEGV (null)或者数组越界一类的崩溃

2、利用命令dwarfdump(可以调试数组越界等一类问题)

dwarfdump --arch=arm64 --lookup=[崩溃日志上项目对应的某崩溃地址] [dSYM文件的绝对路径]

 

解析步骤如下:

 

当使用工具解析时,步骤如下:

首先将从开发者中心下载下来dSYM文件移动到 ~/Library/Developer/Xcode/. 目录下(通过前往进到对应目录)

 

1、下载  ,以及友盟里对应崩溃日志 xxx.csv,放于同一目录下(结构目录如下)。

2、打开终端,cd到该目录下,执行命令:

./umcrashtool [xxx.csv的绝对路径]

3、若能够分析出来,则终端会打印出代码崩溃点以及行数,并且生成一个错误分析xxx-symbol.csv文件在该目录下

 

当使用命令dwarfdump时,步骤如下:

1、将下载下来的dSYM放到一个目录下(如下):

 

2、打开终端,cd到该目录下,执行命令:

dwarfdump --arch=arm64 --lookup=[崩溃日志上项目对应的某崩溃地址] [dSYM文件的绝对路径]   (机型为64位的)

dwarfdump --arch=armv7 --lookup=[崩溃日志上项目对应的某崩溃地址] [dSYM文件的绝对路径]   (机型为32位的)

dwarfdump --arch=arm7s --lookup=[崩溃日志上项目对应的某崩溃内存地址] [dSYM文件的绝对路径]   (机型为32位的)

3、若能够定位崩溃点,终端则会显示出崩溃的文件名以及行数

 

下面是查看dSYM文件的UUID的方法:

1.查看 xx.app 文件的 UUID,terminal 中输入命令 :

dwarfdump --uuid xx.app/xx (xx代表你的项目名)

2.查看 xx.app.dSYM 文件的 UUID ,在 terminal 中输入命令:

dwarfdump --uuid xx.app.dSYM

下面是崩溃内存地址位置:

 

 

另其他关于线上崩溃处理的方案如下:

没有dSYM文件的:

 

 

 

转载于:https://my.oschina.net/llfk/blog/1932159

你可能感兴趣的文章
51单片机(STC89C52RC) lcd1602实验小结
查看>>
bzoj1257 数学整理二分查询
查看>>
Kafka C++客户端库librdkafka笔记
查看>>
CSS 学习-文本 段落
查看>>
IM 融云 之 初始化及登录
查看>>
C#反射操作工具类
查看>>
MongoDB基础命令
查看>>
关于Android中Animation的停止
查看>>
My SQL InnoDB 1217 - Cannot delete or update a parent row:aforeign key constraint fals
查看>>
Draw Circle 沿着圆运动
查看>>
blender
查看>>
Windows下MariaDB数据库安装图文教程
查看>>
UVALive2362 POJ1004 HDU1064 ZOJ1048 Financial Management【数学计算】
查看>>
201671010117 2016-2017-2 《Java程序设计》Java第二周学习心得
查看>>
JS原型、原型链深入理解
查看>>
七种布局显示方式效果及实现
查看>>
【翻译】Ext JS最新技巧——2015-8-11
查看>>
HDU2199:Can you solve this equation?(数学 + 二分)
查看>>
转发萌新人鱼博客-Java面向对象-面向对象编程之基本概念
查看>>
win系统下nodejs安装及环境配置
查看>>