在 App Center 测试中分析设备日志

重要

Visual Studio App Center 计划于 2025 年 3 月 31 日停用。 虽然可以继续使用 Visual Studio App Center,直到它完全停用,但你可以考虑迁移到几个建议的替代方法。

详细了解支持时间线和替代方法。

当测试在 App Center Test 中运行时,输出将捕获到运行中的每个设备的日志文件中。 可以在测试运行完成后检查这些日志。

设备日志和堆栈跟踪包含设备的输出,在诊断应用程序问题(如应用程序)方面可以大有帮助:

  • 安装失败
  • 无法启动
  • 已死亡
  • 坠毁
  • 变得无响应

有关如何导航到日志和其他日志的信息,请参阅 App Center 测试中的日志简介

搜索设备日志

设备日志包含大量输出,因此从头到尾读取甚至扫描整个文件是不切实际的。 若要确定需要仔细检查的区域,请尝试在日志文件中搜索应用名称或包名称。 你的应用是否生成诊断输出? 如果是这样,搜索可能会有所帮助。

还可以查找哪些内容? 下面是一些搜索词,这些搜索词可用于诊断 App Center Test 中的应用程序问题。 如果在设备日志中找到这些术语,请查看其他附近的输出,了解相关性和意义。 搜索设备日志时,可能会发现有助于识别特定于应用的问题的条目。 跟踪这些条目,以便将来对测试运行进行故障排除。

iOS 设备日志搜索词

  • 8badf00d (吃坏食物) - iOS 监视器超时。 请参阅: 了解和分析应用程序故障报告

  • MISSING keychain entitlements explicit accessGroup这可能表示应用程序需要一些高级密钥链访问权限。 如果此错误似乎是导致应用失败的问题,请单击 App Center 门户右上角的帮助菜单 (?) ,然后选择“ 联系支持人员”。

  • OutOfMemoryException Memory Pressure failed to allocate memory warning
    这些错误中的任何一个都可能表示内存不足或内存不足的问题。 根据每个设备的内存量,你可能会在某些设备上看到内存问题,但其他设备上没有内存问题。

  • assertion failed 这表示代码或库代码中的断言失败。

  • frontmost 如果你的应用卡在 iOS 隐私对话框中,并且你看到此错误,这通常意味着对话框出现在测试框架能够控制应用程序之前。 请参阅: 管理隐私警报:位置服务、APNS、联系人

  • exited abnormally 查看给定的原因和附近的输出以获取上下文。

Android 设备日志搜索词

  • ANR 如果应用程序遇到“应用程序无响应 (ANR) 错误,可能会在日志文件中看到此错误。 请参阅:ANR。

  • Unhandled exception 你可能会看到此消息,说明严重错误。

  • FATAL 严重错误。

  • segmentation fault Native crash Crash 其中每个通常都表示一个严重的问题。 查看附近的消息和堆栈跟踪有助于确定问题的具体来源。

限制设备日志大小

检查设备日志的挑战之一是大量信息,其中大多数信息在你尝试在应用程序中查找特定问题时没有用。

如果应用在特定测试中崩溃、冻结或行为不可预测,请尝试创建仅包含一个测试的测试运行,以便检查的输出更少。 如果单个测试仍发生隔离行为,则设备日志中需要查看的材料较少。

什么是重要与什么是噪音

在设备日志文件中,可能很难确定某些内容是否与应用程序的问题相关。

有助于确定相关性的一种方法是比较两个设备日志,一个用于通过的测试,一个用于失败或崩溃的测试。 对两个测试使用相同或类似的设备和 OS 版本会有所帮助。 如果消息出现在这两组日志中,则可能不是问题。 如果它只出现在失败测试的设备日志中,则可能是值得进一步研究的问题。