简单的bug崩溃挂起Xcode

时间:2010-09-08 16:54:32

标签: iphone objective-c xcode

我已经构建了最简单的iPhone程序,一个基于窗口的程序。我只将testappdelegate.h文件更改为以下内容:

#import <UIKit/UIKit.h>

@interface TestAppDelegate : NSObject <UIApplicationDelegate> {
    UIWindow *window;
    int pos[10]10]; //note the error here.
}

@property (nonatomic, retain) IBOutlet UIWindow *window;

@end

请注意'int pos ...'行中的错误。

当我尝试编译此程序时,XCode挂起(显示数百万个错误)。我不是问如何修复这条线,修复很明显。

问题是压倒了XCode,我想知道为什么?

更新:提交错误报告错误ID#8406197

更新2:9月24日。我收到了Apple的回复 Engineering提供了以下信息:

我们不打算在llvm-gcc或gcc中修复此问题,并且已经在clang中修复了它。在这个bug的克隆中跟踪Xcode没有吓坏了。

我们现在正在关闭此错误,因为我们的工程师已经意识到这个问题,并将继续离线跟踪它。

2 个答案:

答案 0 :(得分:8)

问题是Xcode必须摄取数百万个错误才能尝试找出是否存在需要注释的代码行。

请通过http://bugreport.apple.com/提交错误。

您已经制作了这样一个简单的测试用例,这将有助于工程团队确保他们可能正在寻求的任何修复都能充分解决问题。这里可能存在两个错误;第一个让Xcode优雅地处理这么大量的错误,第二个让编译器在面对这样一个明显的错误时不会那么多。

您的错误很可能会以已知副本的形式返回。但是,只有在工程团队从您的错误中捕获了任何独特信息之后,才会发生这种情况。也就是说,欺骗往往非常有用。

在提交错误时,将错误#添加到您的SO问题中。许多Apple工程师都会巡航,并会点击进行内部跟进。

答案 1 :(得分:1)

有些错误,编译器不知道接下来该做什么。

语法错误似乎是对你来说是一个本地的一个人,这并不一定意味着有一个对编译器编写者来说很明显的简单规则。