iOS获取崩溃日志

重要提示:  此文档不再更新。有关Apple SDK的最新信息,请访问文档网站

来源: https://developer.apple.com/library/archive/qa/qa1747/_index.html

问:如何在没有Xcode调试器的情况下调试部署的应用程序?

答:一旦部署了应用程序,无论是通过App Store还是作为Ad Hoc或Enterprise构建,您都无法将Xcode的调试器附加到它上面。要调试问题,您需要分析设备的崩溃日志和控制台输出。

Apple Watch崩溃日志将在配对设备上提供,也可以使用下述方法获取。

有关编写富NSLog语句的更多信息,请参阅Objective-C中的改进日志记录

获取崩溃日志和控制台输出

直接从没有Xcode的设备获取崩溃日志

您的用户可以通过其设备检索崩溃报告,并按照这些说明通过电子邮件将其发送给您。

(无法直接从设备获取设备控制台日志)

1)打开设置应用

2)转到隐私,然后是诊断和使用

3)选择诊断和使用数据

4)找到崩溃的应用程序的日志。日志将以以下格式命名:<AppName> _ <DateTime> _ <DeviceName>

5)选择所需的日志。然后,使用文本选择UI选择日志的整个文本。选择文本后,点按“复制”

6)将复制的文本粘贴到Mail并根据需要发送到电子邮件地址

使用Xcode从设备获取崩溃日志和控制台输出

即使您无法在Xcode的调试器中运行该应用程序,Xcode仍然可以为您提供调试问题所需的所有信息。

使用Xcode 6

1)插入设备并打开Xcode

2)从菜单栏中选择Window - > Devices

3)在左列的DEVICES部分下,选择设备

4)要查看设备控制台,请单击右侧面板左下角的向上三角形

5)单击右下角的向下箭头将控制台另存为文件

6)要查看崩溃日志,请选择右侧面板“设备信息”部分下的“查看设备日志”按钮

7)在Process列中找到您的应用程序,然后选择Crash log以查看内容。

8)要保存崩溃日志,请右键单击左列中的条目,然后选择“导出日志”

9)Xcode 6还将列出低内存日志。这些将显示为进程名称“未知”和类型“未知”。您应该检查这些日志的内容,以确定是否有任何这些日志是由您的应用程序引起的。有关内存不足日志的详细信息,请参阅了解和分析iOS应用程序崩溃报告

使用Xcode 5

1)插入设备并打开Xcode

2)打开“管理器”窗口,然后选择“设备”选项卡

3)在左列的DEVICES部分下,展开设备的列表

4)选择设备日志以查看崩溃日志,或选择控制台以查看控制台输出

回到顶部

启用App Store诊断报告

从选择向Apple发送诊断和使用信息的客户自动收集崩溃日志。

从Xcode 6.3开始,可以在Xcode Organizer中找到至少运行iOS 8.3和TestFlight beta测试人员的App Store客户的崩溃日志。要获取这些崩溃日志:

1)在Xcode 6.3及更高版本中打开管理器窗口

2)选择顶部的“崩溃”。然后可以在此窗口中找到可用的崩溃日志。

“ 应用程序分发指南”包含有关崩溃报告服务的更多信息。

可以在iTunes Connect中找到运行较旧iOS版本的客户的崩溃报告。

如果有人报告崩溃,并且您在iTunes Connect中没有看到相应的报告,则应将其引导至以下适用于MacWindows的知识库文章以便他们可以选择向您发送崩溃报告。

回到顶部

了解崩溃日志和控制台输出

理解崩溃日志的第一步也是最重要的一步是对它们进行符号化。符号化用人类可读的函数名称和行号替换内存地址。

如果您通过Xcode的设备窗口从设备上获取崩溃日志,那么几秒后它们将自动为您设置符号。否则,您需要通过将.crash文件导入Xcode来自己进行符号化。打开Xcode Devices窗口,选择有问题的设备,将崩溃文件拖到左侧列,按住Control键并单击刚刚添加的文件,然后从菜单中选择“Re-Symbolicate Log”。

有关解释崩溃日志的更多信息,请参阅了解和分析iOS应用程序崩溃报告技术说明以及了解iPhone OS WWDC 2010会话上的崩溃报告

回到顶部


文档修订历史

日期 笔记
二零一五年七月三十零日
添加了Apple Watch崩溃日志的注释,以及如何从Xcode获取App Store和TestFlight崩溃日志的说明。

2015年5月14日
添加了直接从设备获取崩溃日志而不使用Xcode的方法

2015年1月8日
更新的链接和删除的部分不再相关。

情节中字
使用Xcode 6获取设备控制台和日志的更新说明

2012-03-28
添加了有关低内存日志的说明。

2011-11-09
新文档,描述如何通过App Store或Ad Hoc构建调试已部署的应用程序

原文地址:https://www.cnblogs.com/8335IT/p/10385370.html

时间: 2024-11-08 12:37:46

iOS获取崩溃日志的相关文章

ios 获取崩溃日志

虽然有了try catch异常捕获,但是还是存在崩溃异常无法捕获到的.我可以通过下面的方式来获取崩溃日志: - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { // Override point for customization after application launch. //设置异常处理Handler NSSetUn

iOS应用崩溃日志分析

转自raywenderlich 作为一名应用开发者,你是否有过如下经历? 为确保你的应用正确无误,在将其提交到应用商店之前,你必定进行了大量的测试工作.它在你的设备上也运行得很好,但是,上了应用商店后,还是有用户抱怨会闪退 ! 如果你跟我一样是个完美主义者,你肯定想将应用做到尽善尽美.于是你打开代码准备修复闪退的问题……但是,从何处着手呢? 这时iOS崩溃日志派上用场了.在大多数情况下,你能从中了解到关于闪退的详尽.有用的信息. 通过本教程,你将学习到一些常见的崩溃日志案例,以及如何从开发设备和

iOS 应用崩溃日志分析

通过本教程,你将学习到一些常见的崩溃日志案例,以及如何从开发设备和iTunes Connect上获取崩溃日志文件.你还将学习到符号化( symbolication),从日志追踪到代码 .你还将学习调试一个在待定情况下会闪退的应用. 让我们开始动手吧! 什么是崩溃日志,从哪里能得它? iOS设备上的应用闪退时,操作系统会生成一个崩溃报告,也叫崩溃日志,保存在设备上. 崩溃日志上有很多有用的信息,包括应用是什么情况下闪退的.通常,上面有每个正在执行线程的完整堆栈跟踪信息,所以你能从中了解到闪退发生时

iOS应用崩溃日志分析-备用

作为一名应用开发者,你是否有过如下经历? 为确保你的应用正确无误,在将其提交到应用商店之前,你必定进行了大量的测试工作.它在你的设备上也运行得很好,但是,上了应用商店后,还是有用户抱怨会闪退 ! 如果你跟我一样是个完美主义者,你肯定想将应用做到尽善尽美.于是你打开代码准备修复闪退的问题……但是,从何处着手呢? 这时iOS崩溃日志派上用场了.在大多数情况下,你能从中了解到关于闪退的详尽.有用的信息. 通过本教程,你将学习到一些常见的崩溃日志案例,以及如何从开发设备和iTunes Connect上获

【转】iOS应用崩溃日志分析

作为一名应用开发者,你是否有过如下经历? 为确保你的应用正确无误,在将其提交到应用商店之前,你必定进行了大量的测试工作.它在你的设备上也运行得很好,但是,上了应用商店后,还是有用户抱怨会闪退 ! 如果你跟我一样是个完美主义者,你肯定想将应用做到尽善尽美.于是你打开代码准备修复闪退的问题……但是,从何处着手呢? 这时iOS崩溃日志派上用场了.在大多数情况下,你能从中了解到关于闪退的详尽.有用的信息. 通过本教程,你将学习到一些常见的崩溃日志案例,以及如何从开发设备和iTunes Connect上获

获取崩溃日志

获取崩溃日志的几种方法: 1.当用户抱怨闪退时,你可以要求他让设备与iTunes同步,设备与电脑上的iTunes Store同步后,会将崩溃日志保存在电脑上(路径:Mac OS X:~/Library/Logs/CrashReporter/MobileDevice/)到上述位置把崩溃日志下载下来,然后通过电子邮件发送给你:用这个方法获取崩溃日志时,你必需尽量获取用户设备生成的所有崩溃日志.因为崩溃日志越多,就越容易诊断问题所在. 2.如果你装了Xcode,也能很容易通过Xcode从你的设备上获得

ios应用崩溃日志解密

什么是崩溃日志,从哪里能得它? iOS设备上的应用闪退时,操作系统会生成一个崩溃报告,也叫崩溃日志,保存在设备上.  崩溃日志上有很多有用的信息,包括应用是什么情况下闪退的.通常,上面有每个正在执行线程的完整堆栈跟踪信息,所以你能从中了解到闪退发生时各线程都在做什么,并分辨出闪退发生在哪个线程上.  有几种方法可以从设备上获取崩溃日志.  设备与电脑上的iTunes Store同步后,会将崩溃日志保存在电脑上.根据电脑操作系统的不同,崩溃日志将保存在以下位置:  Mac OS X : ~/Lib

iOS应用崩溃日志分析 iOS应用崩溃日志揭秘

转自:http://www.raywenderlich.com/zh-hans/30818/ios%E5%BA%94%E7%94%A8%E5%B4%A9%E6%BA%83%E6%97%A5%E5%BF%97%E6%8F%AD%E7%A7%98 这篇文章还能够在这里找到 英语 Learn how to make sense of crash logs! 本文作者是 Soheil Moayedi Azarpour, 他是一名独立iOS开发人员. 作为一名应用开发人员,你是否有过例如以下经历? 为确保

iOS 查看崩溃日志与符号化

能看到这篇文章,就已经证明获取崩溃日志的重要性了.在公司,测试人员偶尔碰到程序崩溃,把bug提交给程序员,往往bug难以重现,这就造成了bug难以修改的现象.其实, 每台iPhone设备的程序崩溃时都会生成一个崩溃日志,保存到手机里.下面来说说如何获取崩溃日志: 1.同步手机内容 把手机连接到电脑,电脑会自动打开iTunes(如图. 选择自己的手机,点击同步 之后崩溃日志便同步到电脑中了. 2.查看崩溃日志 打开Finder----->cmd + shift + G 粘贴 : ~/Library