2016-09-19 41 views
0

我得到了一个EXC_BAD_ACCESScode=1因为这样一行:EXC_BAD_ACCESS码= 1,因为@ {}的

NSDictionary* params = @{}; 

我没有创建这个项目,但我注意到,有链接到一个c++库,并有建立非默认设置(设置由XCode生成)。如果我改变这条线

NSDictionary* params = [NSDictionary new]; 

问题没有了。这可能与编译器的设置project's build setting有关吗?

+0

这条线完全适用于自己。它使用简短的语法创建一个空的,不可变的字典。没有更多的上下文(它发生在应用程序启动,用户交互?)和更多的代码,没有办法告诉出了什么问题。 – Losiowaty

+0

我更新了问题,它不会在应用程序启动时发生,呼叫确认在主线程中。我更清楚地更新了这个问题。 – jAckOdE

回答

0

作为评论说这个错误很可能在你的代码中很深。如果罪魁祸首是僵尸,找到它的最简单方法是在探查器中运行它(最好在最新的Xcode中,目前Xcode 8已经改进),并选择“僵尸”。当它失败时,你可以看到发生在对象上的所有事情的历史。

另外,设置一个异常断点。当错误发生时,你可能会休息一下,而不是在主要的地方,那里的异常会被传出。

+0

我确实希望你的回答有一个错字。最新的Xcode是本月发布的8号。 – Losiowaty

+0

最新的xcode应该是xcode 7(xcode 8即将推出)。我用更多的上下文更新了这个问题。 – jAckOdE

+0

https://developer.apple.com/download/ - Xcode 8于9月13日发布。 – Losiowaty

相关问题