Crash收集的方式
来源:互联网 发布:js遍历二维数组 编辑:程序博客网 时间:2024/06/06 19:25
前言
可以通过捕获Mach异常、或Unix信号两种方式来抓取crash事件
1)Mach异常方式
2)Unix信号方式
signal(SIGSEGV,signalHandler);
3)Mach异常+Unix信号方式
We still need to use signal handlers to catch SIGABRT in-process. The kernel sends an EXC_CRASH mach exception to denote SIGABRT termination. In that case, catching the Mach exception in-process leads to process deadlock in an uninterruptable wait. Thus, we fall back on BSD signal handlers for SIGABRT, and do not register for EXC_CRASH.
在优选捕获Mach异常的情况下,也放弃捕获EXC_CRASH异常,而选择捕获与之对应的SIGABRT信号
通过注册NSUncaughtExceptionHandler捕获应用级异常NSException
对于应用级异常NSException,如果没有特殊处理, 崩溃在main函数的crash日志,但是函数栈里面没有对应的代码
只有拿到这个NSException,获取它的reason,name,callStackSymbols信息才能确定出问题的程序位置。
多个Crash日志收集服务共存的时候注意事项
1)拒绝传递 UncaughtExceptionHandler
在开发测试阶段,可以利用 fishhook 框架去hookNSSetUncaughtExceptionHandler方法,这样就可以清晰的看到handler的传递流程断在哪里,快速定位污染环境者
阅读全文
0 0
- Crash收集的方式
- Crash的收集
- Crash收集
- [IOS] 类似 LeanCloud 的 Crash 收集实现
- 下标方式引起的crash的原因
- crash异常收集
- hockeyapp 自动收集crash
- iOS Crash收集框架
- 收集Crash信息
- Android---Crash三部曲---收集
- Android中Crash收集
- Android Crash日志收集
- Android Crash日志收集
- 快速定位crash的炫酷方式
- iOS收集未捕获的异常,防止应用crash
- Android客户端收集Crash信息的常用方法
- 使用CrashHandler来获取(收集)应用的crash信息
- android 程序崩溃信息的收集【使用CrashHandler来收集应用的crash信息】
- XtraReport显示行序号
- linux下vi命令大全
- json-c 的安装和使用(使用json-c读取文件中的json数据和保存json格式的数据至文件中)
- 简单的实现一个类似于Cocos2dx的游戏框架——导演、场景、层、精灵(已填坑5%)
- 字符编码详解——彻底理解掌握编码知识,“乱码”不复存在
- Crash收集的方式
- 用Spring Cloud和Docker构建微服务
- CSS中height:100%和height:inherit的异同
- js实现Draggable拖拽功能
- [2014]Sequence to Sequence Learning with Neural Networks
- Gson解析报错解决方案
- 阿里云linux安装ffmpeg支持小程序silk文件转换-续
- Jmeter 前置处理器 BeanShell_PreProcessor 适用思考
- Java访问修饰符