XCode无法导入OS X崩溃日志。

5
我收到了一位测试者发来的app崩溃日志。根据文档,我应该能够将其拖放到组织器中“设备日志”部分(或者使用窗口底部的“导入”按钮)中进行查看。

但是无论哪种方式都没有效果,没有错误提示,也没有警告,没有导入。

我的.crash文件是通过手动复制电子邮件内容而创建的,因此可能格式不正确,但与其他崩溃文件进行比较时似乎是正确的。

我也在归档中有该崩溃日志所涉及的构建版本,因为我知道这对于显示符号很重要。

您有什么想法如何调试这个问题吗?我的Xcode版本是4.4.1。


你尝试过拖放其他崩溃文件吗?它能正常工作吗? - jptsetung
3个回答

9

当我尝试导入由PLCrashReporter生成的崩溃日志时,我遇到了同样的问题。然后我注意到崩溃报告中的事件标识符和CrashReporter密钥字段都被填充为“ [TODO]”字符串,而不是正确的值。我用任意UUID替换了事件标识符,并用我的设备的UDID替换了崩溃报告器密钥,之后XCode就能成功导入报告了。我使用的是XCode 4.5


太好了!!我已经导入了,实际上我没有在事件标识符和CrashReporter密钥中写任何数字。唯一的问题是它在重新符号化时没有显示出来。谢谢! - xarly
通过这个更改,我成功将文件导入Xcode。谢谢!(虽然它们仍然无法符号化...) - Arkaaito
@Arkaaito,请确保XCode为崩溃的应用程序拥有dSYM文件。包含与崩溃完全相同版本的存档应该出现在组织者/存档部分,否则XCode将没有足够的信息来符号化您的崩溃日志。 - Aliaksei

5

我不得不使用我的一个苹果技术支持点数,试图找到问题的根源。

简而言之,现在(Xcode 4.6),Mac操作系统的崩溃日志无法导入到Xcode中,只能导入iOS系统的崩溃日志。


@AbhiBeckert,我看到你在这个问题上设置了赏金,但答案就在那里 :) - Didier Malenfant
2
@uchuugaka Stack Overflow并不强制执行任何其他人的保密协议(这已经被讨论过很多次了),而且我也没有泄露任何公司机密,所以我怀疑苹果也不会在意。 - Abhi Beckert
1
但是喊出来也是好的。我不会与任何无法遵守非常简单的法律协议的人做生意。你呢? - uchuugaka
@uchuugaka 我不会与那些仅因为某些古怪的法律要求而跳过 hoops 的人做生意。任何遇到这个问题的人都可以使用 Xcode 5,并且让社区知道该漏洞仍然存在是有价值的。苹果公司即将申请专利和美国专利法的奇怪边缘案例(NDA 最可能的原因)不会因为我们讨论 Xcode 5 中的漏洞而受到影响。 - Abhi Beckert
1
感谢您分享您对法律协议、合同义务和许可证的不屑一顾。 - uchuugaka
如果苹果决定披露您的信息或不支付您的应用商店销售费用,这应该是可以接受的吧?您不能仅选择遵循自己喜欢的那些部分,然后期望一切都顺利进行。 - uchuugaka

1

我怀疑是Xcode的一个bug。
我在使用Xcode 4.4.1时遇到了同样的问题。甚至尝试了最新的4.5.2开发者版本。

我之前使用过早期版本的Xcode,它有点能用(只能一次导入一个崩溃,需要多次重新启动Xcode,但我成功完成了我需要的操作)。

你可以在这里下载旧版本的Xcode。


当Xcode不合作时,我尝试删除~/Library/Developer/Xcode/iOS Device Logs取得了一些成功。请自行决定风险。


@Aliaksei:好的,谢谢你的建议。我建议你把你的评论发表为答案,这样更容易让未来的读者看到。 - Guillaume
只是为了明确,这不是对原问题的答案。这必须与iOS日志相关,因为目前(4.6)Xcode不支持OS X日志。 - Didier Malenfant

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接