我向 AppStore 提交了应用程序的新版本,但由于我在测试应用程序时从未遇到过的一些崩溃而被拒绝。
不幸的是,我似乎无法重现该问题,因此我只能分析他们发送给我的 2 个未符号化的崩溃日志(.txt 文件)。 然而,我在象征它们时遇到了问题。
我尝试按照提供的步骤 HERE和 HERE ,以及其他建议,但没有运气。
这是我迄今为止尝试过的事情:
$ atos -arch arm64 -o Qlear.app.dSYM/Contents/Resources/DWARF/Qlear -l 0x1839fa000 0x0000000183a1c2e8
不幸的是,该命令仅返回 0x00000001000222e8(在 Qlear 中)
$ atos -arch arm64 -o 'Qlear.app'/'Qlear' 0x1839fa000
$ atos -arch arm64 -o 'Qlear.app.dSYM/Contents/Resources/DWARF/Qlear' 0x1839fa000
两个命令都返回0x1839fa000
$ dwarfdump --uuid Qlear.app.dSYM
$ dwarfdump --uuid Qlear.app.dSYM/Contents/Resources/DWARF/Qlear
两个命令都会返回
UUID: 4FFCBD15-01BA-366A-8C28-E4E613401616 (armv7) Qlear.app.dSYM/Contents/Resources/DWARF/Qlear
UUID: 97BD48FC-11E3-37C9-A081-700DCE0CDB23 (arm64) Qlear.app.dSYM/Contents/Resources/DWARF/Qlear
如果我尝试 $ dwarfdump --lookup 0x1839fa000 -arch arm64 Qlear.app.dSYM
我得到:
----------------------------------------------------------------------
File: Qlear.app.dSYM/Contents/Resources/DWARF/Qlear (arm64)
----------------------------------------------------------------------
Looking up address: 0x00000001839fa000 in .debug_info... not found.
Looking up address: 0x00000001839fa000 in .debug_frame... not found.
所以最后我认为 .dSYM 文件(我尝试了 Mac 上的文件以及 iTunes Connect 上的文件)已损坏,所以我尝试了 dwarfdump --all Qlear.app.dSYM
但这似乎有效,因为它返回了很多内容。
你知道我在这里做错了什么吗?我是否混淆了命令,是否使用了错误的十六进制?
最佳答案
最后,经过几个小时的搜索,我终于找到了解决方案:
- 将崩溃日志扩展名从 .txt 更改为 .crash。。这非常重要,因为无法识别 .txt 文件。我在阅读苹果文档时也找不到任何相关信息。
- 连接 iOS 设备并启动 Xcode。
- 在 Xcode 中,转到Windows > 设备和模拟器 (Shift + CMD + 1)
- 选择设备标签,然后查看设备日志。
- 在左侧 Pane 中,选择此设备,然后将 .crash 文件拖放到其中。
- 等待文件加载并进行符号化。拖放后也可以手动对日志进行符号化:右键单击日志 > 重新符号化日志。
关于ios - 无法符号化崩溃报告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48806353/