繁体   English   中英

XCode错误:“ GDB:程序收到信号:“ SIGABRT”。”

[英]XCode error: “GDB:Program received signal: ”SIGABRT“.”

我正在使用cocos2d 0.99.5编写一个简单的应用程序,iPhone SDK是4.2。 我已经在设备上运行了我的应用程序,但是当我按下按钮切换CCScenes时,有时应用程序突然没有响应,并且XCode收到错误:“ GDB:Program收到信号:” SIGABRT“。

此问题是偶然发生的。 您必须多次按下转换按钮才能重现此错误。

我知道SIGABRT是由abort()函数引发的。 当断言失败时,标准的assert()宏将调用abort()。 但是我的程序中没有assert函数。

谁能告诉我这个问题是怎么发生的,以及如何解决这个问题? 我不知道下一步该怎么做。

问题已经解决。 请参阅上面的评论。

如果在应用启动时收到SIGABRT,请检查您的XIBS

打开每个XIB

在身份检查器中检查每个文件的所有者

确保所提到的类是正确的类并且存在该类(我已重命名了一些文件,但失败了)

从...开始

MainWindow.xib
RootViewController.xib

在Identity Inspector中检查类名称是否正确。

在AppDelegate中放置断点

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
//if it enters this method then MainWindow.xib ok

步骤2-在didFinishLaunchingWithOptions中放置另一个断点

   self.window.rootViewController = self.viewController;

在RootViewController.m(或AppDelegate中的VC self.viewController的任何子类)中,在

viewDidLoad

如果在此处崩溃,请检查RootViewController.xib(或第一个VC的类别),然后检查“文件所有者”的类是否正确。

遍历所有View控制器,查找initWithNibName以查找被调用的XIB。 在每个检查中,XIb中的类名称均已正确设置。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM