文档章节

处理崩溃日志,上传至服务器

故城
 故城
发布于 2016/10/27 14:02
字数 127
阅读 6
收藏 0

iOS提供了一个函数uncaughtExceptionHandler来捕捉程序崩溃,把异常数据存到本地,再选择时间上传到服务器。

代码:

void uncaughtExceptionHandler(NSException *exception)

{
    // 异常的堆栈信息
    
    NSArray *stackArray = [exception callStackSymbols];
    
    // 出现异常的原因
    
    NSString *reason = [exception reason];
    
    // 异常名称
    NSString *name = [exception name];
    
    NSString *exceptionInfo = [NSString stringWithFormat:@"Exception reason:%@\nException name:%@\nException stack:%@",name, reason, stackArray];
    
    NSLog(@"%@", exceptionInfo);
    
    NSMutableArray *tmpArr = [NSMutableArray arrayWithArray:stackArray];
    
    [tmpArr insertObject:reason atIndex:0];
    
    //保存到本地
    [exceptionInfo writeToFile:[NSString stringWithFormat:@"%@/Documents/error.log",NSHomeDirectory()]  atomically:YES encoding:NSUTF8StringEncoding error:nil];
    
}

 

© 著作权归作者所有

故城
粉丝 0
博文 4
码字总数 419
作品 0
杭州
私信 提问
Android开源中国客户端学习 异常处理模块

不得不说Osc的客户端的一些模块和商业系统很接近,这也是值得我们学习的地方。 osc的异常处理模块就是这样的一个模块,虽然个人认为功能有些耦合,但是不得不说还是很有参考价值的。 OSC的异...

SuShine
2013/09/09
1K
7
崩溃日志上传框架 --LogReport

LogReport是一个崩溃日志上传框架 ,当App崩溃的时,把崩溃信息保存到本地的同时,自动给GitHub提交崩溃issue,你只需要几句,就能完成所有配置,更多细节请了解下方 另外,崩溃信息支持邮件...

匿名
2016/08/09
810
0
iOS Crash - 收集篇

项目崩溃,crashLog可是你的救命稻草,能让你快速分析出bug的问题所在,不会收集可不行。 当然项目在开发时,可以通过控制台log看到调用堆栈,发布版的crash 收集一般有三种方式可选: 1.苹果...

HeroHY
2017/07/11
51
0
优雅的处理Android崩溃(二)

转载请注明出处:http://blog.csdn.net/w525721508/article/details/77328754 写在前面 上一篇博客中已经介绍了怎么通过UncaughtExceptionHandler接口实现全局异常的抓取,以及崩溃日志的保存...

咖喱配胡椒
2017/08/17
0
0
用 PHP 来做负载均衡指南

过去当运行一个大的web应用时候意味着需要运行一个大型的web服务器。因为你的应用吸引了大量的用户,你将不得不在你的服务器里增加更多的内存和处理器。今天,“大型服务器”模式已经过去,取...

牛哥
2011/11/21
376
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周日乱弹 —— 我,小小编辑,食人族酋长

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @宇辰OSC :分享娃娃的单曲《飘洋过海来看你》: #今日歌曲推荐# 《飘洋过海来看你》- 娃娃 手机党少年们想听歌,请使劲儿戳(这里) @宇辰OSC...

小小编辑
39分钟前
84
5
spring cloud

一、从面试题入手 1.1、什么事微服务 1.2、微服务之间如何独立通讯的 1.3、springCloud和Dubbo有哪些区别 1.通信机制:DUbbo基于RPC远程过程调用;微服务cloud基于http restFUL API 1.4、spr...

榴莲黑芝麻糊
今天
2
0
Executor线程池原理与源码解读

线程池为线程生命周期的开销和资源不足问题提供了解决方 案。通过对多个任务重用线程,线程创建的开销被分摊到了多个任务上。 线程实现方式 Thread、Runnable、Callable //实现Runnable接口的...

小强的进阶之路
昨天
6
0
maven 环境隔离

解决问题 即 在 resource 文件夹下面 ,新增对应的资源配置文件夹,对应 开发,测试,生产的不同的配置内容 <resources> <resource> <directory>src/main/resources.${deplo......

之渊
昨天
8
0
详解箭头函数和普通函数的区别以及箭头函数的注意事项、不适用场景

箭头函数是ES6的API,相信很多人都知道,因为其语法上相对于普通函数更简洁,深受大家的喜爱。就是这种我们日常开发中一直在使用的API,大部分同学却对它的了解程度还是不够深... 普通函数和...

OBKoro1
昨天
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部