Xcode 6.4在Swift断点

时间:2015-07-20 15:08:51

标签: xcode breakpoints xcode6.4

在我正在使用的一个项目中,我无法在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

3 个答案:

答案 0 :(得分:2)

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

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

如果这不起作用,请尝试以下源代码控制技巧(将“您喜欢的修订控件”替换为“ git ”):

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

我建议将断点代码移动到另一个位置(例如在函数之前或之内进行函数调用和断开)。但是,如果所有Swift代码都存在此问题,则可能无效。

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

如果真的是一个负担和/或它是一个小项目,你可以尝试创建一个新项目并将文件和故事板迁移过来,但这可能是太多的努力。

无论哪种方式,因为你注意到它几乎是Swift代码中的所有断点,所以提交Apple的bug报告器的bug。 他们确实需要了解此类问题,因为您似乎并不是唯一一个遇到此问题的人。

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

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

如果您看到这一点,请注意以下几点:

  • 操作系统版本
  • 硬件
  • 目标:模拟器与硬件; iOS vs WatchKit app。
  • 目标SDK版本
  • 只有斯威夫特?或者仅在Objective-C项目上?混合
  • 只有一个项目,或几个项目?

答案 1 :(得分:1)

这是一个远景,但请告诉我它是否有效:

取消选中“Always show Dissasembly”检查

Debug > Debug Workflow > Always Show Disassembly

在旧版本的Xcode(&lt; 6.1)中:

Product > Debug Workflow > Show Disassembly When Debugging

答案 2 :(得分:0)

我过去几个小时都试图解决完全相同的问题。

我一开始认为,由于在与Xcode 6.4相同的机器上安装Xcode 7,它已经开始了。问题肯定是一致的。

但是,由于具有版本控制功能,我可以查看自从使用Xcode 7打开项目以来哪些文件发生了更改。

images.xcassets文件已更改。恢复此文件已使Xcode在每次遇到断点时都不会崩溃。

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