XCode读取 stack trace信息

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。

每天学习一点点,!

你可能感兴趣的:(XCode读取 stack trace信息)