博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
First throw call stack: 不打印方法名
阅读量:5909 次
发布时间:2019-06-19

本文共 877 字,大约阅读时间需要 2 分钟。

最近发现 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

}

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

 

转载于:https://www.cnblogs.com/lion-witcher/p/10235653.html

你可能感兴趣的文章
宝宝语录
查看>>
install python mysqldb client library
查看>>
一些最新的 iPhone APP 的 UI 设计实例
查看>>
NYOJ-42 一笔画问题
查看>>
svn 官方下载
查看>>
REVITMEP中风道末端连接到风管的方式
查看>>
BZOJ 2200 [Usaco2011 Jan]道路和航线
查看>>
那天有个小孩跟我说LINQ(三)
查看>>
MYSQL乱码
查看>>
C# 怎么显示中文格式的星期几
查看>>
LAMP php5.4编译 _php_image_stream_putc等问题
查看>>
vim自动缩进
查看>>
mysql远程访问,修改root密码
查看>>
计算图像大小
查看>>
SphinxSE 一些SQL查询语句
查看>>
利用libsvm-mat建立分类模型model参数解密[zz from faruto]
查看>>
range与xrange之间的差异(转)
查看>>
以构造函数和原型法重新实现定时器封装
查看>>
深入理解javascript原型和闭包(1)——一切都是对象
查看>>
在AD09中查找元件和封装
查看>>