ios友盟错误_iOS之DYSM分析友盟错误信息
前言:
有很多公司利用友盟来统计错误崩溃日志,方便开发人员查找错误的位置,但是反馈的日志是无法确定到底是哪里发生崩溃的,那么我们如何去查呢?
首先我们看下友盟报错的信息:
Paste_Image.png
单看友盟日志,是看不出来到底在哪里崩溃的。不过日志中有了崩溃的地址,我们可以通过命令查出来到底是哪个类哪一行哪一列出现的崩溃。
查找dYSM文件:
dYSM是打包的时候生成的,查找位置可以用下面的方法,找到它就可以拿友盟统计上的错误日志来查找崩溃在程序的哪个类哪行代码了。不过,这不是绝对的,有的日志是查不到崩溃在何处的。
Xocde-->preference -->
Paste_Image.png
Paste_Image.png
在友盟统计上,错误日志这里会有应用的版本号,我们要根据这个版本号,找到我们对应的ipa包,然后找到dYSM文件。在错误日志的下位,有出错的版本号,出错的次数,出错的首次日期,最后一次出现的日期。
即可得到DYSM文件的位置:
/Users/zhoujunbo/Library/Developer/Xcode/Archives/2016-06-21/SSPendi\ 16-6-21\ 下午2.23.xcarchive
-然后
Paste_Image.png
接下来继续进入
Paste_Image.png
Paste_Image.png
Paste_Image.png
最后进入文件
cd /Users/zhoujunbo/Library/Developer/Xcode/Archives/2016-06-21/SSPendi\ 16-6-21\ 下午2.23.xcarchive/dSYMs/SSPendi.app.dSYM/Contents/Resources/DWARF/SSPendi
解析友盟错误信息重要指令:
dwarfdump --arch=arm64 --lookup 0x1001edbc4 /Users/zhoujunbo/Library/Developer/Xcode/Archives/2016-06-21/SSPendi\ 16-6-21\ 下午2.23.xcarchive/dSYMs/SSPendi.app.dSYM/Contents/Resources/DWARF/SSPendi
0x1001edbc4是友盟报错的地址,我们只需要把地址换为自己app的地址即可,然后敲回车,终端就会显示这样一串信息
0x003ab47e: Compile Unit: length = 0x000026ba version = 0x0002 abbr_offset = 0x00000000 addr_size = 0x08 (next CU at 0x003adb3c)
0x003ab489: TAG_compile_unit [1] *
AT_producer( "Apple LLVM version 7.3.0 (clang-703.0.31)" )
AT_language( DW_LANG_ObjC )
AT_name( "/Users/zhoujunbo/Documents/SVN/SSPendi/ECSDKDemo_OC/Custom/DB/IMCommon.m" )
AT_stmt_list( 0x00121122 )
AT_comp_dir( "/Users/zhoujunbo/Documents/SVN/SSPendi" )
AT_APPLE_optimized( 0x01 )
AT_APPLE_major_runtime_vers( 0x02 )
AT_low_pc( 0x00000001001ed7a0 )
AT_high_pc( 0x00000001001ee82c )
0x003ac6f2: TAG_subprogram [35] *
AT_low_pc( 0x00000001001edb14 )
AT_high_pc( 0x00000001001edc44 )
AT_frame_base( reg29 )
AT_object_pointer( {0x003ac711} )
AT_name( "-[IMMessageObj dealloc]" )
AT_decl_file( "/Users/zhoujunbo/Documents/SVN/SSPendi/ECSDKDemo_OC/Custom/DB/IMCommon.m" )
AT_decl_line( 64 )
AT_prototyped( 0x01 )
AT_APPLE_optimized( 0x01 )
Line table dir : '/Users/zhoujunbo/Documents/SVN/SSPendi/ECSDKDemo_OC/Custom/DB'
Line table file: 'IMCommon.m' line 74, column 10 with start address 0x00000001001edbc4
然后,我们可以分析得到是在IMCommon.m文件中的第74行第10列崩溃的,就可以直接定位到错误的地方,然后分析出错的代码,fix掉就可以了。
ios友盟错误_iOS之DYSM分析友盟错误信息相关推荐
- 友盟统计java代码_SFAnalytics 分析友盟统计源码,反编译 SDK,还有部分没有 出来 android 259万源代码下载- www.pudn.com...
文件名称: SFAnalytics下载 收藏√ [ 5 4 3 2 1 ] 开发工具: Java 文件大小: 8023 KB 上传时间: 2016-06-05 下载次数: 0 提 供 者: ...
- DCOM 遇到错误“登录失败: 未知的用户名或错误密码
DCOM 遇到错误"登录失败: 未知的用户名或错误密码 DCOM 遇到错误"登录失败: 未知的用户名或错误密码 并且无法登录到 .\IWAM_PC-HANXIN 上以运行服务器: ...
- ios友盟错误_iOS 2017友盟错误统计及分析
我还以为你不会搜我呢~ 看完这文章后的你 前言 在app开发中,我坚信,总会有小伙伴会用到友盟统计的,我也是(废话).但是在友盟的错误日志分析这块,小白用的话可能会有点小麻烦.最近有个小伙伴问我这点, ...
- iOS分析友盟错误报告
源地址: http://evil4emperor.diandian.com/post/2012-05-28/21001400 iOS分析友盟错误报告 在友盟中统计了许多的App的数据,当然也会有好多的 ...
- ios友盟错误_iOS - 友盟错误分析
修复.jpg 前提应用集成了友盟的bug收集功能. 友盟的错误分析.错误列表里面有数据. 正题 错误详情.png 错误列表 点击进去基本上都是这个样子,这并不能方便我们及时定位到错误地方. 解决先把你 ...
- ios nstimer实现延时_iOS 中常见 Crash 总结
作者 | 在路上重名了啊 @(iOS总结)[温故而知新] [TOC] 1.找不到方法的实现unrecognized selector sent to instance 2.KVC造成的crash 3. ...
- android 友盟统计动态设置渠道,Android 友盟多渠道打包
一.简介 为了统计不同渠道上的下载数量及用户活动情况,方便后台做运营统计.我们需要在安装包中添加不同的标识(渠道信息 Channel).多渠道的实现方式多种多样,此篇只实现友盟多渠道打包的方法.友盟多 ...
- iOS开发过程中使用Core Data应避免的十个错误
Core Data是苹果针对Mac和iOS平台开发的一个框架,主要用来储存数据.对很多开发者来说,Core Data比较容易入手,但很难精通,如果没有正确的学习方法,你将很难真正理解它,更不用说精通了 ...
- 【详解】()调试方法从线索(错误征兆)出发,通过分析这些线索之间的关系而找出故障,是从个别推断一般的方法。
()调试方法从线索(错误征兆)出发,通过分析这些线索之间的关系而找出故障,是从个别推断一般的方法. A. 试探法 B. 回溯法 C. 归纳法 D. 演绎法 解释: 回溯法:一旦发现了错误,人们先分析错 ...
最新文章
- Scala学习笔记--Akka
- Power BI for Office 365(八)共享查询
- 支持向量机器—SMO算法
- 大一python题库刷题训练_python实现合工大试题库自动刷题
- vue 子组件更新父组件状态 使用sync
- QT 定时关机、共享内存、启动浏览器、浏览器前进后退刷新、进度条、设置浏览器标题、QML入门
- 算法题存档20191223
- Linux中的redis集群搭建
- 简单实现系统托盘 - 回复 闪 的问题
- linux 图片浏览软件,FocusOn Image Viewer
- 震网三代在metasploit-framework上的复现与利用
- python出入库_基于Python对Excel数据入库的处理
- 宽带通云解析结合用友致远A6使用方法
- 离婚协议中的几个重点
- token系统讲解及过期处理
- Markdown 编辑公式
- java数据结构--TreeSet
- 学习Redis的正确姿势,有这一篇就够了
- IT外企那点儿事(8):又是一年加薪时
- linux用户模式驱动,linux设备驱动之控制台驱动