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。

每天学习一点点,😄😄!

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容