• First throw call stack: 不打印方法名


    最近发现 Xcode 崩溃信息里,不打印方法名了。

    打印出来的都是十六进制地址:

    *** First throw call stack:
    (0x184767164 0x1839b0528 0x1846c2020 0x10476a0fc 0x18dd21a00 0x18ddc8eb8 0x18ddc8358 0x18ddc7d5c 0x18ddc77d8 0x18ddc76d8 0x18dd1ee18 0x1887ab948 0x1887afad0 0x18871c31c 0x188743b40 0x188744980 0x18470ecdc 0x18470c694 0x18470cc50 0x18462cc58 0x1864d8f84 0x18dd855c4 0x1046ac1b0 0x18414c56c)

    这就导致了,我们无法直观的看到崩溃的方法,不能快速定位崩溃的代码。

    要解决这个问题也很简单,各位看官请往下看

    首先

    定义一个函数,并在程序中尽早调用

    void uncaughtExceptionHandler(NSException*exception) {
        NSLog(@"CRASH: %@", exception);
        NSLog(@"Stack Trace: %@",[exception callStackSymbols]);
    }

    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
    {
    #ifdef DEBUG

     //这句话的意思就是告诉系统,当发生异常时,使用这个函数作为回调。
        NSSetUncaughtExceptionHandler(&uncaughtExceptionHandler);
    #endif

    }

    这样我们看到的就跟之前的一样了

  • 相关阅读:
    欧拉函数
    新博客地址
    socket编程
    文件操作
    python安装扩展”unable to find vcvarsall.bat“的解决办法
    PYTHON以及插件安装
    梯式结构
    PHPSTORM配置
    CSRF攻击
    js的一些奇葩用法
  • 原文地址:https://www.cnblogs.com/lion-witcher/p/10235653.html
Copyright © 2020-2023  润新知