2011-12-17 62 views
0

我在学习XCode和Mac编程。我正在尝试一本关于XCode 4的书,我正在使用4.2.1。我被告知这个错误不是下面的代码行。我如何/在哪里解决这个问题?搜索没有发现任何我理解的东西。OS X程序不会编译EXC_BAD_ACCESS

在main.m文件 - “线程1程序接收到的信号 'EXC_BAD_ACCESS'

int main(int argc, char *argv[]) 
{ 
    return NSApplicationMain(argc,(const_char **)argv); //error here 
} 

我不查看找到堆栈导航|航海家

enter image description here

也许这就是。你在找什么?

enter image description here

我删除了整个项目并重新开始。现在我在同一行上得到一个SIGABRT。搜索没有导致任何解决方案。

+2

EXC_BAD_ACCESS不是编译错误,而是使用'const char'而不是'const_char' – 2011-12-17 14:13:08

+0

你的程序编译得很好,注意这个错误没有显示在Issues Navigator中,它应该是空的(如果不是,那么你还有其他的东西需要修复!)。编译错误和调试器指示器看起来不同;你看到的是后者。 –

+0

请编辑您的问题,以包含整个Xcode窗口的屏幕截图,其中Debugger Console可见并且Stack Navigator可见,并设置为完全展开(滑块一直到右侧)。 –

回答

0

僵尸对象是伟大的调试不好的访问。

在Xcode 4.1及以上版本中,“运行”阶段的“诊断”选项卡上的“启用僵尸对象”复选框。 - from How to enable NSZombie in Xcode?

+0

谢谢,很高兴知道! – Mike

-5
return NSApplicationMain(argc,(const_char *)argv); 

摆脱第二星号的

+3

第二个星号是必需的。 – 2011-12-17 14:14:28

1

我发现添加异常断点(通过Breakpoint Navigator左下角的+按钮并将其设置为在抛出所有异常时中断)非常有帮助。这个列表可以在你需要的时候打开和关闭它,它会停止在抛出异常的源代码位置