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

时间:2015-10-14 17:03:11

标签: ios xcode xcode7 crash-reports symbolicatecrash

新的Xcode 7" Crashes"组织者中的选项卡显示AppStore为我的应用程序发生的一些崩溃。根据{{​​3}},应该有一个堆栈跟踪。但是,6次崩溃都没有象征着堆栈跟踪: the documentation

我试过点击"在项目中打开"但它同样没用: enter image description here

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

4 个答案:

答案 0 :(得分:15)

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

运行

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

确保已设置DEVELOPER_DIR

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

答案 1 :(得分: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+中。您可以通过右键单击日志详细信息视图并单击" symbolicate"来手动调用重新符号化。

答案 2 :(得分:0)

我第一次在Xcode 10中这样做。右键单击崩溃日志并选择Symbolicate无效。我在管理器窗口的“存档”部分中选择了构建,然后单击右侧窗格中的“下载调试符号”按钮。这似乎没有任何作用,但是当我回到Crashes并告诉Xcode再次象征相同的崩溃时,这次它起作用了。

答案 3 :(得分:0)

您需要在本地使用该应用程序的dsym。如果这是一个从“构建”框上传的构建,则不会有它们。前往App Store Connect,单击“活动”选项卡,找到相关的内部版本,然后点击它。版本详细信息屏幕上包含一个链接,用于下载dSYM-这样做,然后将其下载为.zip文件。

现在回到您在Xcode中崩溃的情况-它们将成功象征。

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