8

在我使用的一个项目中,我无法在 Swift 代码中设置断点,Xcode 在到达其中一个断点时总是崩溃,不管它是“手动”断点还是异常断点。

在其他项目中,一切都按预期工作,只有一个项目 Xcode 6.4 (6E35b) 总是崩溃。

我尝试清理、删除派生数据、重置模拟器、重新启动 Xcode/Mac - 没有任何帮助。

其他遇到此问题并希望知道有什么帮助的人?

编辑 似乎只在一台机器(Xcode 6.4、10.10.5)上出现,而在另一台机器上(Xcode 6.4、El Capitan)则不然。但正如我在评论中提到的,重新安装 Xcode 并没有帮助,还有其他一些我可以重置/删除的首选项吗?

EDIT2 这是 Xcode 崩溃日志文件: https ://dl.dropboxusercontent.com/u/119600/Xcode_2015-08-12-074655_Stefans-iMac.crash

4

3 回答 3

2

我会尝试卸载并重新安装 Xcode 看看它是否有帮助......我听说过这种技术在类似问题上取得了成功。

只需从 /Applications 中删除整个 Xcode.app,然后从 .dmg 重新安装。如果您不确定二进制文件并且有时间/带宽,请考虑重新下载 .dmg。

如果这不起作用,请尝试以下源代码控制技巧(用“你最喜欢的版本控制”替换“ git ”):

  • 尝试清除所有不在源代码控制中的对象
  • 另一种方法:再次将应用程序签出到新的存储库中(这甚至可以获取可能已提交但稍后忽略的文件)。
  • 如果不受源代码控制,请从此处获取 .gitignore并将其添加到 git,然后检出到另一个目录(这将留下除源代码、界面构建器、项目文件和资源/资产之外的所有内容)。

我建议将断点代码移动到另一个位置(例如进行函数调用并在函数之前或内部中断)。但是,如果所有 Swift 代码都有这个问题,那可能就行不通了。

最后,在进行临时提交(回滚到)之后,在 Xcode 7 beta 中尝试。有点麻烦,因为您必须升级到 Swift 2.0,但如果您保持部署目标相同,则无需更改 iOS 目标。

如果这确实是一个负担和/或它是一个小项目,您可以尝试创建一个新项目并迁移文件和情节提要,但这可能是太多的努力。

无论哪种方式,既然您注意到它几乎是 Swift 代码中的所有断点,请向 Apple 的错误报告器提交错误。 他们确实需要听到诸如此类的问题,因为您似乎并不孤单。

编辑:其他人在哪里看到这个问题? 也许我们可以看到共性——因为这仅在 Swift 项目中报告(到目前为止)。一位同事在 10.10.4 上的 Xcode 6.4 中看到了断点(以及单步执行代码)的这个问题。(我过去也见过 Xcode 6.4 崩溃)。

我看到提到的操作系统版本 10.10.5 是发生这种情况的目标(@swalkner);这是一个测试版吗?如果 OS 10.10.4/5 是我们看到这一点的唯一地方,那可能很重要。如果是项目/操作系统交互,重现/修复可能会很棘手,但我鼓励每个人向 Apple 提交详细的错误报告(甚至可以链接这篇文章)。

如果您看到此内容,请注意以下几点:

  • 操作系统版本
  • 硬件
  • 目标:模拟器与硬件;iOS 与 WatchKit 应用程序。
  • 目标 SDK 版本
  • 只有斯威夫特?或者在一个只有 Objective-C 的项目上?混合?
  • 只有一个项目,还是几个?
于 2015-07-20T15:16:36.787 回答
1

这是一个远射,但如果它有效,请告诉我:

取消选中“始终显示 Dissasembly”检查

Debug > Debug Workflow > Always Show Disassembly

在旧版本的 Xcode (<6.1) 中:

Product > Debug Workflow > Show Disassembly When Debugging
于 2015-08-30T07:55:23.630 回答
0

我刚刚花了几个小时试图解决完全相同的问题。

起初我以为,它是由于在与 Xcode 6.4 相同的机器上安装 Xcode 7 而开始的。问题当然不谋而合。

但是,由于有版本控制,我可以查看自使用 Xcode 7 打开项目后哪些文件发生了变化。

images.xcassets 文件已更改。恢复这个文件可以阻止 Xcode 在每次遇到断点时崩溃。

我不确定这是否有帮助,但一定要查看 images.xcassets,如果需要,删除它,重新创建它并确保它的设置 100%。它确实解决了我的问题。

于 2015-09-18T09:05:53.530 回答