1. 调试时候崩溃,异常停在main函数的入口处:
int main(int argc, char *argv[])
{
@autoreleasepool {
// 异常停在了下面这行,毫无提示作用
return UIApplicationMain(argc, argv, nil, NSStringFromClass([Xxxx class]));
}
}
2. 解决方法:
a.首先在你的AppDelegate中定义一个方法, 用于处理异常:
void uncaughtExceptionHandler(NSException *exception) {
NSLog(@"CRASH: %@", exception);
NSLog(@"Stack Trace: %@", [exception callStackSymbols]);
}
b. 然后在应用启动时,设置这个方法作为自己的自定义异常回调:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
NSSetUncaughtExceptionHandler(&uncaughtExceptionHandler);
}
3. 调取后,Log出错行变成可读的stack trace,直接可看到具体的崩溃信息。可以省略每次在 Console 中 输入 po。
每天学习一点点,!