行。所以我在SIGABRT
我正在开发的一个复杂的 Objective-C iOS 程序上遇到了这个非常奇怪的错误,经过一天的跟踪,我找到了罪魁祸首。
假设我们有以下代码:
NSArray *a = [NSArray arrayWithObjects:@"a", @"b", @"c", nil];
NSLog(@"tada: %@", [a objectAtIndex:-1]);
为什么这会终止程序Program received signal: SIGABRT
并且调试器甚至不指向我的代码(而是在某些程序集部分)而不是更好的“索引越界”和“嘿,这行代码是错误的”错误?
我以为我搞砸了项目配置,所以我在一个全新的项目上复制了这个:同样的结果。
有没有办法将 XCode 配置得更好,并以更易于理解的方式指示此类错误?