ios友盟错误_iOS - 友盟错误分析
修复.jpg
前提应用集成了友盟的bug收集功能。
友盟的错误分析、错误列表里面有数据。
正题
错误详情.png
错误列表 点击进去基本上都是这个样子,这并不能方便我们及时定位到错误地方。
解决先把你要分析的程序进行打包
打包.png定位到错误的地方
错误定位.png
最后
针对错误的地方 然后进行修复就OK了。
解析下工具代码(应群主的要求)秦小风
上述代码 是为了 获取 Library/Developer/Xcode/Archives/ 下的文件夹。这也是第一步要先打包的原因了。
进行过滤、 让其支持 xcarchive 文件和 dSYM 文件
点击 分析 按钮,程序到底做了什么?需要的参数
UUID 的类型
UUID 的可执行文件路径
Slide Address
错误内存地址
核心代码
commandToRun:里面是上面写的4个参数
NSTask:是MAC OS X用来执行系统命令的一个类库,作用类似php的exec。
LaunchPath
可执行文件的路径
arguments
应用于启动可执行文件的命令参数。
[task launch]
启动任务
StandardOutput
设置接收的输出类型。NSPipe:单向通信通道。一个NSPipe对象表示一个管道的两端,并能通过管道进行通信。管道是相关过程之间的单向通信通道; 一个进程写入数据,而另一个进程读取数据。通过管道的数据被缓冲; 缓冲区的大小由底层操作系统决定。
[pipe fileHandleForReading]
文件句尾执行完毕。NSFileHandle:用于文件描述符的面向对象的包装器。
readDataToEndOfFile
同步读取可用数据直到文件结尾或最大字节。返回值是NSData。手动通过 atos 工具(Mac 平台)来输出错误地址
有个开源的 atos
iOS打包后的文件会有dSYMs这个文件夹
找到打包的文件 右键显示包内容
点进去 dSYMs 文件夹,右键显示 XXX.app.dSYM包内容
找到 DWARF 文件夹
打开终端 cd DWARF 文件夹
xcrun atos -arch arm64 -o 程序的名字 错误的内存地址
然后回车,对应的错误代码和行数就会输出显示出来了。
原理iOS使用的文件结构是 DWARF文件结构 (Debug With Attributed RecordFormats) 是一种调试文件结构标准,结构相当复杂。
XXX.app.dSYM 是一个二进制文件。里面包含了 app crash 之后的栈信息。
崩溃日志.png
上图可以看到 第4行有崩溃所在的页面 以及方法的名字。但是具体行数没发现在哪可以找到。
Mac OS X 平台下 Xcode 自带了 atos 这样的工具,通过它去符号化,直接定位到某个文件的具体位置
如果想深入了解,可以去看 《Mach-O二进制文件解析》
这个工具是 dSYMTools
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
ios友盟错误_iOS - 友盟错误分析相关推荐
- ios友盟错误_iOS 2017友盟错误统计及分析
我还以为你不会搜我呢~ 看完这文章后的你 前言 在app开发中,我坚信,总会有小伙伴会用到友盟统计的,我也是(废话).但是在友盟的错误日志分析这块,小白用的话可能会有点小麻烦.最近有个小伙伴问我这点, ...
- ios友盟错误_iOS之DYSM分析友盟错误信息
前言: 有很多公司利用友盟来统计错误崩溃日志,方便开发人员查找错误的位置,但是反馈的日志是无法确定到底是哪里发生崩溃的,那么我们如何去查呢? 首先我们看下友盟报错的信息: Paste_Image.pn ...
- android友盟错误日志,友盟崩溃日志分析三种方式
第一种:采用友盟提供的工具 1.再友盟错误页面,右下角,有一个保存错误日志的. 比如:xxx iOS_错误分析_错误详情_100442.csv 2.把xxx.app.dSYM 放到这个目录下~/Lib ...
- iOS分析友盟错误报告
源地址: http://evil4emperor.diandian.com/post/2012-05-28/21001400 iOS分析友盟错误报告 在友盟中统计了许多的App的数据,当然也会有好多的 ...
- android+仿友盟更新,android友盟增量更新
1.增量升级的原理 增量更新的原理就是将本地apk与服务器端最新版本比对,并得到差异包.比如现在的版本是1.1.4,大小是7.2M,新版本是1.1.5.大小是7.3M.我们发现两个版本只有0.1M的差 ...
- android集成友盟u app,友盟U-Mini小程序集成指南
适用范围 该文档适用于友盟+微信小程序统计SDK 2.3.2 及以上版本. 微信小程序统计SDK快速集成 1. 注册友盟+账号 登录友盟+官网,按照引导注册友盟+账号 特别提醒:我们建议开发者在注册账 ...
- 用友u8年度账文件服务器错误,用友U8.52建立年度账出现错误
文章摘要:问题现象:用友U8.52建立年度账出现错误?出错事项:建立年度账出现错误:大体内容是:插入错误:列名或所提供值的数目与表定义不匹配:传输网上银行信息(NBNewAcc.DLL)失败:无法除去 ...
- win10系统做T3服务器,win10如何安装用友t3_win10安装用友t3教程
用友T3是用友旗下的一个财务软件版本,很多有需要的用户的都会在电脑中安装.但有些不熟悉的用户不知道win10如何安装用友t3,所以今天本文为大家分享的就是关于win10安装用友t3教程,一起往下看吧. ...
- android友盟错误日志,Taro(React-native)集成友盟错误日志分析U-App移动统计
1.先去友盟官网注册应用,获取到appkey,友盟+移动统计分析U-App,这个步骤就不贴出来了,需要注意的是ios和Android 不能使用同一个appkey,需要分别创建两个应用,应用名称可以在后 ...
最新文章
- cmd导入oracle库文件,cmd 导入oracle数据库
- python configparse_python中ConfigParse模块的用法
- C++女程序员一个人留在北京
- SpringBoot2.1.5(14)---外部配置
- 51nod 1478 括号序列最长合法子段
- 【须弥SUMERU】宜信分布式安全服务编排实践
- SELinux系列(九)——SELinux auditd日志系统的安装与启动
- 正宗PC Unix实验环境
- matlab线性代数命令大全,线性代数 - MATLAB 系统中文帮助手册
- Linux磁盘管理基本配置
- PHP里面用ichartjs,ichartjs插件的使用
- 冒险岛手游服务器维护界面,冒险岛手游10月28日全平台更新维护公告
- 玩游戏显示服务器不稳定,FPS不稳定是什么原因?玩游戏FPS低怎么办?
- VBox 启动虚拟机失败 - NtCreateFile
- 信息系统项目管理师:信息、信息化、信息系统、信息系统开发方法
- uni-app 配置 以及 使用微信云函数
- 至强服务器性能视频,英特尔至强E5-2600服务器到底有多强?
- 33:判断字符串是否为回文
- CC1101调试入门
- 自研H323协议栈设计