xcode生成内部错误消息

时间:2012-04-20 12:38:39

标签: xcode

当我尝试打开我的项目时,收到“内部错误”消息。你对发生的事情有任何想法吗?

  

Xcode遇到内部逻辑错误。选择“继续”继续以不一致的状态运行Xcode。选择“崩溃”以暂停Xcode并使用Crash Reporter提交错误。选择“崩溃”将导致丢失所有未保存的数据。

详细信息如下:

ASSERTION FAILURE in /SourceCache/IDEFoundation/IDEFoundation-943/Framework/Classes/Model/Execution/RunContext/IDEBuildSchemeAction.m:912
Details:  (_buildableReference) should not be nil.
Object:   <IDEBuildActionEntry: 0x403120140>
Method:   -dvt_awakeFromXMLUnarchiver:
Thread:   <NSThread: 0x40010a220>{name = (null), num = 1}
Hints:   None
Backtrace:
  0  0x000000010b6a8366 -[IDEAssertionHandler handleFailureInMethod:object:fileName:lineNumber:messageFormat:arguments:] (in IDEKit)
  1  0x000000010ad201a4 _DVTAssertionFailureHandler (in DVTFoundation)
  2  0x000000010b246e89 -[IDEBuildActionEntry dvt_awakeFromXMLUnarchiver:] (in IDEFoundation)
  3  0x000000010ad2585a -[DVTXMLUnarchiver decodeElementNodeWithXMLTextReader:owner:container:parsingState:success:error:] (in DVTFoundation)
  4  0x000000010ace024a -[DVTXMLUnarchiver decodeNodeWithXMLTextReader:owner:container:parsingState:error:] (in DVTFoundation)
  5  0x000000010ad25551 -[DVTXMLUnarchiver decodeElementNodeWithXMLTextReader:owner:container:parsingState:success:error:] (in DVTFoundation)
  6  0x000000010ace024a -[DVTXMLUnarchiver decodeNodeWithXMLTextReader:owner:container:parsingState:error:] (in DVTFoundation)
  7  0x000000010ad25551 -[DVTXMLUnarchiver decodeElementNodeWithXMLTextReader:owner:container:parsingState:success:error:] (in DVTFoundation)
  8  0x000000010ace024a -[DVTXMLUnarchiver decodeNodeWithXMLTextReader:owner:container:parsingState:error:] (in DVTFoundation)
  9  0x000000010ad25551 -[DVTXMLUnarchiver decodeElementNodeWithXMLTextReader:owner:container:parsingState:success:error:] (in DVTFoundation)
 10  0x000000010ace024a -[DVTXMLUnarchiver decodeNodeWithXMLTextReader:owner:container:parsingState:error:] (in DVTFoundation)
 11  0x000000010acdff6a -[DVTXMLUnarchiver _readAndReturnError:] (in DVTFoundation)
 12  0x000000010acdfc84 -[DVTXMLUnarchiver decodeWithRootObject:error:] (in DVTFoundation)
 13  0x000000010b245cc5 +[IDEScheme schemeFromXMLData:withRunContextManager:customDataStoreContainer:customDataSpecifier:isShown:orderHint:error:] (in IDEFoundation)
 14  0x000000010b24542e -[IDERunContextManager _updateMap:contextForCustomDataStore:specifier:] (in IDEFoundation)
 15  0x000000010b244b6f -[IDERunContextManager _customDataStoresDidUpdate] (in IDEFoundation)
 16  0x000000010ad2a9d0 -[NSObject(DVTPropertyLinking) dvt_addObserverWithName:toKeyPath:ofObject:block:] (in DVTFoundation)
 17  0x000000010b244554 -[IDERunContextManager initWithWorkspace:] (in IDEFoundation)
 18  0x000000010b2441e5 -[IDEWorkspace _setupRunContextManager] (in IDEFoundation)
 19  0x000000010b29e02e __81-[IDEWorkspace _finishLoadingAsynchronously:shouldUpgradeFromSimpleFilesFocused:]_block_invoke_0 (in IDEFoundation)
 20  0x00007fff8d9a3b05 -[NSBlockOperation main] (in Foundation)
 21  0x00007fff8d96a6d8 -[__NSOperationInternal start] (in Foundation)
 22  0x00007fff8d97d936 ____NSOQSchedule_block_invoke_2 (in Foundation)
 23  0x00007fff81bde8ba _dispatch_call_block_and_release (in libdispatch.dylib)
 24  0x00007fff81be072a _dispatch_main_queue_callback_4CF (in libdispatch.dylib)
 25  0x00007fff81f3506c __CFRunLoopRun (in CoreFoundation)
 26  0x00007fff81f34676 CFRunLoopRunSpecific (in CoreFoundation)
 27  0x00007fff87a8231f RunCurrentEventLoopInMode (in HIToolbox)
 28  0x00007fff87a895c9 ReceiveNextEventCommon (in HIToolbox)
 29  0x00007fff87a89456 BlockUntilNextEventMatchingListInMode (in HIToolbox)
 30  0x00007fff86c93f5d _DPSNextEvent (in AppKit)
 31  0x00007fff86c93861 -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] (in AppKit)
 32  0x00007fff86c9019d -[NSApplication run] (in AppKit)
 33  0x00007fff86f0eb88 NSApplicationMain (in AppKit)
 34  0x000000010acb3eec (in Xcode)
 35  0x0000000000000002

2 个答案:

答案 0 :(得分:4)

你真的不应该在像Xcode这样的产品中看到“内部错误”;你看到的是一个没人想到会发生的错误或情况。根本原因可能是某种格式错误的项目文件:我们可以从堆栈跟踪中看到Xcode正在读取XML文件,并且您说当Xcode打开您的项目时会发生这种情况。

我首先创建一个新的项目文件,然后添加项目中的所有文件。这可能是一个痛苦的问题,但它通常是从项目文件相关问题中恢复的最有效方法。

如果这听起来太多了,你认为你知道问题是什么,你可以尝试手工编辑现有的项目文件。按住Control键并单击项目文件,然后从上下文菜单中选择“显示包内容”以显示项目文件中的文件,这实际上是一组文件。然后在您喜欢的文本编辑器中打开“project.pbxproj”文件,以查看定义项目的XML。不难看出文件的结构,因此您可能会发现问题。

例如,昨晚我不小心将Xcode本身添加为我项目的框架之一。这导致Xcode挂起,我不得不强制退出。更糟糕的是,Xcode尝试打开上次退出时打开的项目,因此再次启动Xcode会导致另一个挂起。 (您可以通过在启动Xcode时按住Shift键来避免这种情况。)我使用TextMate打开项目文件,在链接框架部分找到对Xcode.app的引用,并将其删除。手术很成功,患者完全康复。

答案 1 :(得分:0)

这可能是您的项目文件或Xcode配置文件已损坏的情况。这些都是XML文件,这可以解释为什么堆栈跟踪指示xml解析问题。堆栈跟踪还指示(从IDE前缀)在Xcode尝试将自身组织为集成开发环境时发生错误。

以下是一些选项:

  1. 尝试在Xcode中打开或创建另一个项目。如果您能够执行此操作,请再次尝试在Xcode中打开现有项目。
  2. 尝试在另一台Xcode上安装项目,在另一台机器上或当前机器上的其他Xcode版本上。如果项目在另一个安装中打开,则重新安装Xcode。
  3. 创建一个新项目。一次复制所有h,m和资源文件。重新设置项目。
  4. 您可以通过在文本编辑器中打开项目文件来尝试查找格式错误的xml。 (没什么好玩的)