• 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构建调试已部署的应用程序

  • 相关阅读:
    安装7-Zip后,鼠标右键菜单出现选项(CRC SHA)
    Windows添加右键菜单【转载】
    基于Visual Studio开发C++/Qt项目的使用笔记
    数组中的重复数字
    zookeeper的通知机制
    zookeeper有几种部署模式? zookeeper 怎么保证主从节点的状态同步?
    什么是springcloud?springcloud断路器的作用是什么?springcloud的核心组件有什么?
    springboot实现热部署的几种方式
    springboot的核心配置文件
    什么是springboot?为什么要用springboot?
  • 原文地址:https://www.cnblogs.com/8335IT/p/10385370.html
Copyright © 2020-2023  润新知