升级Xcode6后,当我尝试在iPhone模拟器中进行debugging时,Xcode有时会崩溃

我正在开发一个iPhone应用程序,并在大多数时间使用iPhone模拟器。 当我尝试在iPhone Simulator中debugging我的一个项目(无论什么types和操作系统版本)以进行debugging时,Xcode有时会突然崩溃。

发生这个错误后,改变代码只是一行,重新编译解决崩溃,但是当我尝试在iPhone模拟器中debugging项目时,如果我不重新编译项目Xcode6总是崩溃。 然后,继续编程一段时间,同样的崩溃发生。

我可能会从另一个话题中发现崩溃的原因,即签名date和最后修改date的不同,但我不知道如何解决这个问题。 (这个人是因为Xcode5而说的,但是当我在Mavericks上使用Xcode5的时候,从来没有发生过这样的事情)。 在Xcode for Mac中编译并链接Python的C扩展

该项目的工作区已经嵌套了几个静态库项目,所以我怀疑这是因为编辑嵌套的库代码,但也只是在编辑主程序代码时发生。

这个崩溃并不总是发生,所以很难解决我的错误。 该项目的工作空间是巨大的,所以我想避免创build新的工作空间,如果可能的话。 我非常感谢有人帮助。

这是崩溃报告。

Crashed Thread: 25 Dispatch queue: DBGLLDBLauncher Serial Queue Exception Type: EXC_BAD_ACCESS (Code Signature Invalid) Exception Codes: 0x0000000000000032, 0x00000001359eb000 kernel messages: -2 sec CODE SIGNING: cs_invalid_page(0x1359eb000): p=21345[Xcode] final status 0x1000200, denying page sending SIGKILL -2 sec CODE SIGNING: process 21345[Xcode]: rejecting invalid page at address 0x1359eb000 from offset 0x1f3e000 in file "**PATH_OF_EXECUTABLE_FILE**" (cs_mtime:1412141335.0 == mtime:1412141335.0) (signed:1 validated:1 tainted:1 wpmapped:0 slid:0) VM Regions Near 0x1359eb000: MALLOC_LARGE 0000000131224000-0000000133aad000 [ 40.5M] rw-/rwx SM=PRV --> mapped file 0000000133aad000-0000000136336000 [ 40.5M] r--/rwx SM=COW MALLOC_LARGE 0000000136336000-0000000137690000 [ 19.4M] rw-/rwx SM=PRV 

最近我开始遇到这个问题。 尝试没有成功的一系列的东西来解决它,包括重新安装Xcode(如苹果的崩溃记者对话框build议),重置模拟器,清洁生成,清理DerivedData文件夹,等等。绝望,我真的研究了崩溃报告。

为我修理它的线索躺在那里:

 Thread 24 Crashed:: <DBGLLDBSessionThread (pid=7926)> ... 14 com.apple.dt.dbg.DebuggerLLDB ... -[DBGLLDBSession _createBreakpointFromFileBreakpoint:] + 254 ... 

LLDB正试图在崩溃时创build一个断点。 所以,我在Simulator中重新运行项目之前删除了Xcode中的所有断点,现在它可以工作。

(你没有发布足够的崩溃报告来查看你的情况发生了什么,所以你的里程可能会有所不同。)

在每次更新Xcode之后,我会执行这些步骤:

  • 产品 – >(按住Alt键)清理生成文件夹
  • 产品 – >清洁
  • 窗口 – >pipe理器 – >删除派生数据

然后重build项目

代码签名问题通常是由于安装损坏或不完整。 这可能是因为Xcode.app在崩溃的时候正在加载一个插件,而且代码签名validation失败。 你的日志片段不足以让我深入了解它。 请在http://bugreport.apple.com上提供一个雷达(如果您不介意的话,请参考这里的电话号码)&#x3002;

另外,你也可以尝试从你的系统中删除Xcode.app,如果你愿意,可以重新安装。

我得到了同样的错误,并通过适当地configuration代码签名实体和configuration文件来解决它。