Xcode 4.2/IOS 5下控制台中的堆栈跟踪没有异常吗?
uncaughtExceptionHandler
void uncaughtExceptionHandler(NSException *exception) { NSLog(@"uncaughtExceptionHnadler -- Exception %@", [exception description]); // Because iOS 5 doesn't provide a traceback, provide one here NSLog(@"Stack trace: %@", [exception callStackSymbols]); // Let Flurry look at the error [FlurryAPI logError:@"Uncaught" message:@"Crash!" exception:exception]; }
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { // Enable uncaught exception handler to dump stack and let Flurry log the exception NSUncaughtExceptionHandler* hdlr = NSGetUncaughtExceptionHandler(); NSSetUncaughtExceptionHandler(&uncaughtExceptionHandler); NSUncaughtExceptionHandler* newHdlr = NSGetUncaughtExceptionHandler(); // TODO: Test NSException* ex = [NSException exceptionWithName:@"AssertionFailure" reason:@"Test" userInfo:nil]; @throw ex;
NSExceptionHandlingMask
ExceptionHandling.framework
int main(int argc, char *argv[]) { NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init]; int retVal = -1; @try { retVal = UIApplicationMain(argc, argv, nil, nil); } @catch (NSException* exception) { NSLog(@"Uncaught exception: %@", exception.description); NSLog(@"Stack trace: %@", [exception callStackSymbols]); } [pool release]; return retVal; }
肥皂起泡泡
侃侃尔雅
心有法竹