iOS Crash(崩溃)类型

废话不多说,直接看iOS APP奔溃的几种类型

1.Mach异常

Mach 是一个 XNU 的微内核核心,Mach 异常是指最底层的内核级异常,被定义在 下 。每个 thread,task,host 都有一个异常端口数组,Mach 的部分 API 暴露给了用户态,用户态的开发者可以直接通过 Mach API 设置 thread,task,host 的异常端口,来捕获 Mach 异常,抓取 Crash 事件。

2.Unix 信号

所有 Mach 异常都在 host 层被ux_exception转换为相应的 Unix 信号,并通过threadsignal将信号投递到出错的线程。iOS 中的 POSIX API 就是通过 Mach 之上的 BSD 层实现的。

3.C++ exceptions

这个比较简单,直接调用了标注库的std::set_terminate(CPPExceptionTerminate)函数,设置CPPExceptionTerminate为C++ exceptions 的异常处理函数。

4.Object C 异常


查找奔溃的位置:

1.集成腾讯-SDK,bugly

https://bugly.qq.com/

2.集成开源第三方库 KSCrash

https://github.com/kstenerud/KSCrash

KSCrash解析可以参考:

https://www.it610.com/article/1191455498289913856.htm

3.如果只有崩溃地址,怎么手动查找崩溃位置呢?

参考我的下一篇文章

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容