iOS 捕获程序崩溃日志
2024-10-21 10:10:08
iOS开发中遇到程序崩溃是很正常的事情,如何在程序崩溃时捕获到异常信息并通知开发者?
下面就介绍如何在iOS中实现:
1. 在程序启动时加上一个异常捕获监听,用来处理程序崩溃时的回调动作
NSSetUncaughtExceptionHandler (&UncaughtExceptionHandler);
官方文档介绍:Sets the top-level error-handling function where you can perform last-minute logging before the program terminates.
UncaughtExceptionHandler是一个函数指针,该函数需要我们实现,可以取自己想要的名字。当程序发生异常崩溃时,该函数会得到调用,这跟C,C++中的回调函数的概念是一样的。
2. 实现自己的处理函数
void UncaughtExceptionHandler(NSException *exception) {
NSArray *arr = [exception callStackSymbols];//得到当前调用栈信息
NSString *reason = [exception reason];//非常重要,就是崩溃的原因
NSString *name = [exception name];//异常类型 NSLog(@"exception type : %@ \n crash reason : %@ \n call stack info : %@", name, reason, arr);
}
以上代码很简单,但是带来的作用是非常大的。
最新文章
- 手势(UIGestureRecognizer)
- 使用反射,查找WCF异常类型
- LINQ的Intersect方法
- (转)T-SQL查询处理执行顺序(一)
- 一个千万量级的APP使用的一些第三方库
- php 多条数据更新
- JAVA架构师要求
- Failed to execute goal.....webxml attribute is required...
- git 提交
- php exit、return、break、continue之间的差别,具体介绍
- BZOJ_4176_Lucas的数论_杜教筛+莫比乌斯反演
- 【mongo】centos6.9安装mongo2.6.3
- [Tensorflow实战Google深度学习框架]笔记4
- 学JS的心路历程 -数组常见处理方法
- Asp.Net 管道事件注册/HttpApplication事件注册
- VirtualBox安装及Linux基本操作(操作系统实验一)
- Java集合——LinkedList源码详解
- Spring quartz定时任务service注入问题
- Maven-Dependency Mechanism
- C# 中字段和属性的使用时机
热门文章
- jQuery -《锋利的jQuery》————读后小结
- Python在线教程
- django使用haystack对接Elasticsearch实现商品搜索
- JVM字节码执行引擎和动态绑定原理
- [编程题] 合唱团 &;&; 地闹逃脱
- win 10 下面安装 mysql-8.0.12-winx64 的过程
- Spring注解@Scope(";prototype";)
- HashMap底层数据结构和算法解析
- NBUT 1223 Friends number
- Eclipse内嵌的webservice客户端