构建时无法符号化 macOS 崩溃日志/没有 dSYM 文件

问题描述 投票:0回答:2

我正在发送 Mac Catalyst 应用程序的 Beta 版本,将其分发给具有开发人员 ID 的 Beta 测试人员,而 Beta 测试人员会通过电子邮件向我发回崩溃日志。我可以将 iOS 崩溃日志拖到 Xcode 的“查看设备日志”窗口中以对其进行符号化,但是当我尝试使用 macOS 崩溃日志时,该窗口不会突出显示,也不会接收拖动的文件。

在按照“教程从命令行手动进行符号化”时,我意识到我的构建档案中没有 dSYM 文件。如果我在 Xcode 管理器中单击某个构建,选择“在 Finder 中显示”,然后导航到存档的 dSYMs 文件夹,它是空的。 实际上,我的应用程序的最新版本使用

AppKit 捆绑包

来支持多窗口,并且这些版本在 dSYMs 文件夹中确实有一个 AppKitBridge.bundle.dSYM 文件。我不认为这会阻止为主应用程序创建 dSYM 文件,因为我可以回顾旧版本的档案,但它也不是为这些版本生成的。 根据Apple的

Xcode文档

,我需要将调试信息格式构建设置设置为带有dSYM文件的DWARF,我这样做:

Project build settings

Target build settings 这听起来像是 Xcode 不允许我拖入日志的原因吗?如果是这样,我还需要什么来生成 dSYM 文件?

xcode macos mac-catalyst symbolicatecrash
2个回答
2
投票

Xcode target build settings 这似乎没有必要,但对于更了解项目和目标的人来说也许是有意义的。不管怎样,现在 Xcode 在构建 macOS 版本时会生成一个 dSYM 文件。

但是,从新版本生成的崩溃日志仍然不会放入“查看设备日志”窗口中进行符号化。我尝试从命令行使用

symbolicatelog

并收到错误“不支持的崩溃日志版本:12”。甚至在与我的计算机相同的 macOS 版本上生成的崩溃日志也会发生这种情况,所以我不知道为什么我的本地

symbolicatelog
工具无法处理它。我最终使用了
atos
工具,如
this SO answer
中所述,一次一行地表示日志。虽然很乏味,但很有效。


0
投票
Debug Information Format

构建选项会将

ENABLE_STDEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
行添加到
project.pbxproj
,强制 Xcode 为 macOS 和 iOS 生成适当的
*.xcarchive/dSYMs/
内容。
    

© www.soinside.com 2019 - 2024. All rights reserved.