【发布时间】:2013-02-10 21:07:03
【问题描述】:
我是 iOS 开发新手,无法识别 SIGABRT 的来源。我已将其范围缩小到在 UIViewController 子类的初始化期间发生的事情,特别是在其 loadView 和 viewDidLoad 方法之间。
我在 UIViewController 子类中的每个方法重载中都调用了 NSLog 来缩小范围。但是,我无法从调试器中获得更多粒度;我无法进入[super loadView] 方法。除了 NSLogs 和单步调试器之外,还有什么技术可以调试 SIGABRT?有什么方法可以准确查看异常是从哪里引发的?
计划的具体细节
本程序使用 Core Data;我在this tutorial 之后创建了它。我相信 SIGABRT 是在我完成“Relationships In Action”部分之后开始发生的,而之前没有发生(我认为我在前面部分的末尾已经成功构建了)。具体来说,我可以成功添加一个人,但PersonDetailTableViewController 在loadView 和viewDidLoad 之间抛出一个SIGABRT。
我尝试从 iPhone 模拟器中删除应用程序,并运行 Product > Clean;两者都没有任何效果。
【问题讨论】:
-
尝试在所有异常上添加断点,stackoverflow.com/questions/10844725/…
-
嗯,好吧,现在它只是在 [super loadView] 调用上停止。我在想我的故事板中可能有一些设置不正确,但我已经搜索过了,没有任何东西出现在我身上。
-
您的故事板中的班级名称可能不正确?
标签: ios objective-c debugging uiviewcontroller sigabrt