最新消息:20210917 已从crifan.com换到crifan.org

[整理]从iOS设备中收集崩溃日志

iOS crifan 3360浏览 0评论

ios 收集崩溃日志

iOS应用崩溃日志分析 – CocoaChina 苹果开发中文站 – 最热的iPhone开发社区 最热的苹果开发社区 最热的iPad开发社区

iOS 中捕获程序崩溃日志 – 简书

Xcode崩溃日志分析工具symbolicatecrash用法 – 简书

获取iOS设备上崩溃日志(Crash Log)的方法_iOS开发_西部e网

ios崩溃日志收集_源码下载_Dev资源_DevStore

iOS应用的crash日志的分析基础 – JasonLee的专栏 – 博客频道 – CSDN.NET

iOS SDK接入指南 – iOS Crash_iOS崩溃_iOS崩溃日志_iOS Crash收集

iOS App在发布以后获取在用户手机上的崩溃日志 – 阿P的博客

[总结]

先看下面的总结:

[关于崩溃日志的获取]

crash log==崩溃日志

收集崩溃日志的办法有很多,整体上分成几类:

1.第三方服务

有专业的第三方服务,以SDK的方式集成到app内使用

详见:

[整理]iOS中好用的收集崩溃日志第三方服务

2.自己写代码收集

以及苹果官方介绍的各种,自己手动收集崩溃日志的办法:

[整理]如何自己写代码捕获崩溃日志并保存

想要得到崩溃日志,则就是:

对于已有的崩溃日志,如何去得到:

[整理]从iOS设备中收集已有的崩溃日志

进一步的就是,收集到了崩溃日志,如何分析,如何使用:

[整理]如何解析和利用已得到的崩溃日志

其实在去搞懂如何收集崩溃日志之前,最好看看苹果官网的:

Technical Q&A QA1747: Debugging Deployed iOS Apps

以便于搞清楚,其实此处提到的崩溃日志,其实与此相关的还有:console终端输出

以及如何从iOS设备中,通过Xcode中,得到崩溃日志。

此处,贴上自己的部分的翻译:

“对于iOS设备的用户来说,默认是勾选了:

发送诊断和使用信息(以便于开发者诊断和优化程序的)

从Xcode 6.3之后,App Store的用户,如果版本是iOS 8.3之后,以及TestFlight beta的测试者,则可以直接在Xcode Organizer中看到相应的崩溃日志。

此处由于不是TestFlight去测试的,所以看不到崩溃日志(或者目前还没有崩溃日志,所以看不到?)

关于崩溃日志的更多的介绍,可参见:

Analyzing Crash Reports

老版本的iOS的用户的崩溃报告,一般可以在iTunes Connect中找到。

如果某用户程序崩溃了,但是却没有在你的iTunes Connect中看到你的崩溃日志,则你可以让他参考:

iTunes 12 for Mac: 将 iPod touch、iPhone 或 iPad 的相关诊断和使用信息发送给 Apple

iTunes 11(Windows 版): 将 iPod touch、iPhone 或 iPad 的相关诊断和使用信息发送给 Apple

去发送崩溃日志给你。

崩溃日志是xxx.crash的文件

里面只有地址

需要翻译为符号,符号化-》翻译地址为对应的函数名和对应的行数,才便于你看懂

如果是用Xcode链接设备并获取到的崩溃日志-》则Xcode自动会帮你翻译,稍等几秒即可

否则你需要自己将xxx.crash文件导入到Xcode:

Xcode-》Devices-》选择你的设备-》View Devices Logs-》将xxx.crash崩溃日志文件拖动到左边列表:

即可,然后右击该日志,选择Re-Synmbolicate Log:

然后Xcode会自动帮你解析和翻译。”

[如何收集崩溃日志]

iOS设备插入到电脑后,mac中:

Mac OS X:~/Library/Logs/CrashReporter/MobileDevice/

可以找到崩溃日志

1.

iOS设备中:

“设置

隐私

诊断与用量

诊断与用量数据”

可以看到有诊断数据,然后用户手动选择对应的崩溃日志(的文本信息),然后复制,

再去通过发邮件,发给作为程序开发者的你。

2.如果iOS设备在自己手上,或者说可以自己拿到,那么就可以去通过连接到Mac,用Mac中的Xcode得到(并可以导出)崩溃日志了

iPhone手机插入到Mac中,打开Xcode

Window-》Devices-》DEVICES中选择自己的iPhone设备-》View Device Logs

然后此处只看到Evernote印象笔记的crash log

对于crash log,可以删除,保存和重新定位:

对于普通的崩溃日志crash log,是不包含低内存警告日志的。

不过Xcode此处也会列出对应的低内存警告日志的:

属于:

进程:未知Unknown

类型:未知Unknown

以及另外某次故意制造的崩溃日志:

故意写代码制造崩溃,看看Xcode中看到的崩溃日志效果是啥样的:

//for emulate crash
                    self.messageTableView.scrollToRowAtIndexPath(NSIndexPath(forRow: self.messageList.count, inSection: 0), atScrollPosition: UITableViewScrollPosition.Top, animated: false)

转载请注明:在路上 » [整理]从iOS设备中收集崩溃日志

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
97 queries in 0.200 seconds, using 20.15MB memory