首页 > 解决方案 > 将字节偏移量转换为 TestFlight 崩溃日志中的行号

问题描述

我从 TestFlight 获取 iOS 崩溃日志,其中包括我的类和函数名称,但函数名称后面有一个字节偏移量,而不是行号。我不认为字节偏移量指的是源代码,因为如果我从函数的开头开始计数,它们可能会将我置于注释的中间,或者超过函数的结尾。我可以进一步对这些日志进行符号化,以在我的源代码中显示字节偏移量或行号吗?

我的应用程序的构建设置包括 Enable Bitcode = No,这样应该可以简化事情。如果我导航到我的 beta 版本的存档文件并显示包内容,我可以看到 dSYM 文件,因此 App Store Connect 和 Xcode 应该可以使用这些文件。

我试过了...

  1. 将从 TestFlight 下载的崩溃日志拖到 Xcode 的 View Device Logs 窗口中,但没有进一步的符号化发生。
  2. 使用此 SO answer中描述的 symbolicatecrash 命令行工具,但返回“未找到符号信息”并输出与输入相同的文件。我不确定,但我怀疑这意味着文件已经被符号化,而不是没有找到 dSYM。
  3. 使用 Xcode Organizer 查找我从 TestFlight 获得的相同崩溃日志。在这种情况下,崩溃日志中的每一行都有一个箭头按钮而不是偏移编号,但是当我单击它们时,它们只会在 Xcode 中打开相同的信息,而不会显示行号或在我的源代码中选择任何内容。我尝试单击、双击和右键单击下面第三个屏幕截图中突出显示的行,但没有其他任何反应。

顺便说一句,我可以看到错误,“Unexpectedly found nil while implicitly unwrapping an Optional value”,这是有道理的,但是这可能涉及到一些事情,我无法在我的设备上重现崩溃,所以我需要行号来缩小范围。

下载的崩溃日志中的字节偏移量

Xcode Organizer 中的可点击箭头

单击该箭头时没有任何用处

标签: iosxcodetestflightsymbolicatecrash

解决方案


推荐阅读