我正在尝试从一个TableViewController传递控件,将其称为'A'到另一个TableViewController,将其称为'B'。即使我启用了“所有异常”,我也会在主要的第20行陷阱:这是: retVal = UIApplicationMain(argc,argv,nil,NSStringFromClass([AppDelegate] 注:在第20行的最右边是“线程1:断点1.3”,这是值得的。
有人能指出一个方向,帮助我看看导致程序停止的原因吗?
//
// main.m
// some function
//
// Created by JJW on 3/23/12.
// Copyright (c) 2012 JJW, LLC. All rights reserved.
//
#import <UIKit/UIKit.h>
#import "AppDelegate.h"
int main(int argc, char *argv[])
{
@autoreleasepool {
//return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
int retVal = -1;
@try
{
retVal = UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
}
@catch (NSException* exception)
{
NSLog(@"Uncaught exception: %@", exception.description);
NSLog(@"Stack trace: %@", [exception callStackSymbols]);
}
return retVal;
}
}
答案 0 :(得分:1)
从项目导航器中选择断点选项卡。然后按底部的“+”添加断点。选择“添加异常断点”。确保选中Exception Breakpoint,All Exceptions,Break on throw。
现在,当您运行应用程序时,只要抛出异常,它就会停止。这将让你看到你破线的那条线。
<强>更新强> 您可以尝试摆脱try / catch语句。我从来没有见过像这样在应用程序中使用的那个。
int main(int argc, char *argv[]) {
@autoreleasepool {
int retVal = UIApplicationMain(argc, argv, nil, nil);
return retVal;
}
}
答案 1 :(得分:0)
我花了一天时间重新创建整个项目。新的白蚁有例外,带有解释性信息。所以我猜这个老应用程序完全搞砸了。