Xcode崩溃管理器不符号.xccrashpoint文件

问题描述 投票:25回答:4

组织者中新的Xcode 7“Crashes”选项卡显示了AppStore为我的应用程序发生的一些崩溃。根据the documentation,应该有一个堆栈跟踪。但是,6次碰撞都没有象征着堆栈痕迹:enter image description here

我曾尝试点击“在项目中打开”,但它同样没用:enter image description here

当然,当我提交到商店时,我包含了dsym和调试信息。我仍然在我的组织者中提交了提交内容,因此我的机器上仍然存在dsyms。如何在此获得正确的堆栈跟踪?

ios xcode xcode7 crash-reports symbolicatecrash
4个回答
15
投票

不理想,但如果右键单击.xccrashpoint文件,选择“显示包内容”,则可以导航其文件夹结构以查找可以提取的实际.crash文件,然后通过命令行using steps described here进行符号化:

/Applications/Xcode.app/Contents/SharedFrameworks/DTDeviceKitBase.framework/Versions/A/Resources/symbolicatecrash

确保设置DEVELOPER_DIR

export DEVELOPER_DIR=/Applications/Xcode.app/Contents/Developer

5
投票

短篇故事:

Xcode 9.0中:“Crashes Organizer使用Spotlight索引的本地.dSYM(如果选择它们)来表示非符号化日志。(22550064)”

您可以在Xcode's Documentation查看更多相关信息。

很长的故事:

当Xcode为机器代码应用程序构建.xcarchive时,它会生成默认情况下被Spotlight索引的.dSYM文件。对于使用bitcode上传的应用程序,您可以使用Archives管理器下载默认情况下被Spotlight索引的dSYM。

如果您在将应用程序上传到App Store时选择不包含符号信息,则Crashes Organizer下载的崩溃日志将不会被取消标记。如果您拥有为崩溃的应用程序版本生成的相应.dSYM文件,则当您单击崩溃以查看崩溃时,Xcode将自动对崩溃进行符号化。此功能存在于Xcode 9.0+中。您可以通过右键单击日志详细信息视图并单击“符号”来手动调用重新符号。


0
投票

我在Xcode 10中第一次这样做。右键单击我的崩溃日志并选择Symbolicate没有任何效果。我在Organizer窗口的Archives部分选择了build,然后单击右侧窗格中的“Download Debug Symbols”按钮。这似乎没有做任何事情,但当我回到Crashes并告诉Xcode再次象征同样的崩溃时,这次它起作用了。


0
投票

你需要让应用程序的dsyms本地化。如果这是一个从say,build box上传的版本,你就不会拥有它们。前往App Store Connect,单击“活动”选项卡,找到相关的构建,然后点击它。版本详细信息屏幕包含下载dSYM的链接 - 这样做,并展开他们下载的.zip文件。

现在回到Xcode中的崩溃 - 它们将成功地进行符号化。

完整性提示:确保您的本地源与崩溃版本处于同一提交状态。否则,如果源文件自发布以来已更改,Xcode可能会将您转储到错误的行上。例如由于您最近添加了两行,因此源代码的第127行现在已移至第129行...并且崩溃视图不知道这些更改。它将显示第127行崩溃,其中崩溃代码实际位于第129行。

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