分析友盟错误日志

要分析崩溃日志,首先需要保留发布时的编译出来的.xcarchive文件。这个文件包含了.DSYM文件。

我一般的做法是,发布成功后,把这个文件.xcarchive直接提交到代码版本库对应的版本分支里,这样就不会搞丢了。

这个文件在哪呢?打开XCode->菜单Window->Organizer,在编译成功的文件上右键,就能打开了。

两种比较麻烦的方法。

第一种方法:

使用dwarfdump命令

dwarfdump --uuid xx.app.dSYM     用来得到app的UUID。
dwarfdump --lookup 0x12b45d -arch armv7 xx.app.dSYM  使错误的日志能看懂,把相应的内存地址对应到正确的地方。
如果一开始dwarfdump命令不能用的话,要先装Command Line Tools,这个在设置里面能下载(cmd+“,”打开设置)。另外还必须在进入.DSYM所在文件夹。

使用dwarfdump需要安装Command Line Tools,XCode里设置下载。而且需要进入.DSYM所在文件夹里进行操作。

第二种方法:

使用xcrun atos命令

atos -o YourApp.app.dSYM/Contents/Resources/DWARF/YourApp 0x00062867

下面重点推荐下这个方法,方便快捷

第三方法:可视化工具

下面这是我的项目里通过友盟统计到的崩溃日志,如果光看这些日志报告的话,是不会知道是哪行代码引起的。

使用方法是把对应版本的.xcarchive文件拖到工具。对比UUID和友盟里日志是否一致,一致就把错误的地址信息拷贝到箭头处。点击分析。

即可得出具体代码崩溃位置。很简单吧。

dSYM 文件分析工具 http://answerhuang.duapp.com/index.php/2014/07/06/dsym_tool/

这是这位博主answer-huang开发了一个工具,专门用来快速定位崩溃日志的代码。感谢这位仁兄的提供这么方便的工具。

工具代码还是开源的:https://github.com/answer-huang/dSYMTools

工具下载地址:http://pan.baidu.com/s/1ntH0w1V

时间: 2024-10-07 13:13:44

分析友盟错误日志的相关文章

iOS之友盟错误统计解决

http://www.cocoachina.com/ios/20150720/12627.html First 相信有很多开发者在项目中加入了友盟统计,其中一个最主要的功能就是查看线上版本统计到的错误.但是当你看到这样的信息时: 会不会有这样的想法: 这尼玛到底是什么鬼?!! 此时你可能会百度(干得漂亮!),我相信你“闪闪”的双眼肯定会看到这篇文章的:dSYM文件分析工具.具体用法我就不重复了,博主写的很详细,而且这个工具真的真的很好用! Second 但是,友盟还统计到了这么一堆错误: 这尼玛

如何通过友盟分析发布后App崩溃日志-b

要分析崩溃日志,首先需要保留发布时的编译出来的.xcarchive文件.这个文件包含了.DSYM文件. 我一般的做法是,发布成功后,把这个文件.xcarchive直接提交到代码版本库对应的版本分支里,这样就不会搞丢了. 这个文件在哪呢?打开XCode->菜单Window->Organizer,在编译成功的文件上右键,就能打开了. 两种比较麻烦的方法. 第一种方法: 使用dwarfdump命令 dwarfdump --uuid xx.app.dSYM     用来得到app的UUID.dwarf

分析错误日志,发送邮件通知

# -*- encoding:utf8 -*- """ logger_mail.py ~~~~~~~~~~~~~~ 分析每天的错误日志,发送邮件通知 =====================================B """ import sys import ConfigParser # 是Python自带的模块, 用来读写配置文件 import smtplib from datetime import datetime, timed

利用友盟定位iOS线上版本项目的崩溃位置

引言 当我们的项目打包上传苹果商店之后,出现的崩溃问题不会想在XCode中那么明显了,那么我们就要对项目的crash日志进行分析,至此,友盟的崩溃分析作用就体现出来了. 前提 你的项目中集成了友盟 能获取到项目的dSYM文件 什么是 dSYM 文件 Xcode 编译项目后,我们会看到一个同名的 dSYM 文件,dSYM 是保存 16 进制函数地址映射信息的中转文件,我们调试的 symbols 都会包含在这个文件中,并且每次编译项目的时候都会生成一个新的 dSYM 文件,位于 /Users/<用户

友盟(三)高级功能

一.自定义事件 自定义事件可以实现在应用程序中埋点来统计用户的点击行为,比如:统计用户的点击事件,统计用户都点击了什么:统计用户搜索的关键字,看用户都偏好什么产品等等.自定义事件目前包括:计数事件和计算事件. 计数事件:计数事件统计事件的发生次数.独立用户数.事件时长及事件各参数的发生次数.时长. 程序中的某些事件,如登录.分享.下载等,是定性变量(categorical variable),对应的统计项是字符串类型.开发者只需了解它们发生的次数及独立用户数,使用计数事件即可满足. 计算事件:还

友盟(一)了解umeng并添加应用和测试设备信息

一.umeng产品介绍 1.开发组件 ?社会化组件 集成多个应用平台的分享功能,类似于SHareSDK,但是功能不如ShareSDK强大,Umeng的强大在于数据统计. ?用户反馈组件 友盟提供的用户反馈组件和服务,可以帮助开发者与用户顺畅地进行双向互动. ?自动更新组件 如果发布的市场渠道比较多,更新版本的工作就比较繁琐.友盟提供的自动更新组件可以实现多渠道的同步更新,让用户及时使用最新的产品. ?消息推送 帮助开发者建立与用户直接沟通的渠道.将app的版本更新.通知等消息主动的推送给用户,让

如何通过友盟的错误分析报告,定位到错误代码的位置

加入友盟统计功能后,友盟后台会有一个错误分析的统计项,点进去之后可以查看项目的错误报告.对于开发人员来说,查看报告不是最终目的,找到错误的原因才是最终目的.如何通过这堆报告定位到错误的代码呢?早上查了好些资料,终于成功了. 我们先看一下错误报告是什么样的: 友盟错误报告 这份报告所包含的主要信息有: 1.首行是错误的原因.显而易见,以上的错误是由于数组越界了.2.打红色马赛克的地方是你的工程名字.3.红色马赛克之间有一个淡绿色的地址,这就是错误代码的位置.4. dSYM UUID,这个是dSYM

如何通过友盟的错误信息分析项目中问题的具体位置

一.你需要找到和友盟上相同版本的Archive文件,位置是xcode->Windows->Organizer,找到打包的那一条目,右键Show in Finder->右键显示包内容->dSYMs下找到 项目名.app.dSYM,将其拷贝到文件夹A. 二.打开友盟,找到错误信息中青色带下划线的内存地址,有时候会有2个,用上边的那一个,如下图的0xb1d51. 三.打开终端(launchPad--其他中),cd 到放dSYM文件的文件夹A中,然后输入如下命令 回车之后在提示的下方就能找

iOS 友盟统计的bug分析

前提:保留打包发布时的 myapp.xcarchive文件(注:在xcode-window-Organizer-Archives 中可以找到,通过命令打包需要自己当时备份下这个文件) 1.从myapp.xcarchive中得到myapp.app.dSYM 和myapp 两个文件并放到同一个文件夹中 2.找到一条该版本app 在友盟bug统计中崩溃日志的,在其中可以找到崩溃时的地址信息如:0x1001ed424 友盟统计的崩溃logApplication received signal SIGSE