Crash类型

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Crash类型相关的知识,希望对你有一定的参考价值。

参考技术A 1、EXC_BAD_ACCESS:此类型是最常见的crash,通常用于访问了不该访问的内存导致的,一般EXC_BAD_ACCESS后面的()还会带有补充信息。野指针错误形式在Xcode中通常表现为:Thread1:EXC_BAD_ACCESSA(code=EXC_i386_GPFLT)错误。因为你访问了一块已经不属于你的内存。

2、SIGSEGV:通常由于重复释放对象导致,一般在ARC以后很少见到

3、SIGABRT:收到Abort信号退出,通常Foundtion库中的容器为了保护状态正常会做一些检测,例如插入nil到数据中等会遇到此类错误。

4、SEGV(Segmentation Violation):代表无效内存地址,比如空指针,未初始化指针,栈溢出等。

5、SIGBUS:总栈错误,与SIGSEGV不同的是,SIGSEGV访问的是无效的地址,而SIGBUS访问的是有效的地址,但是总栈访问异常(如地址对齐问题)。

6、SIGILL:尝试执行非法的指令,可能不被识别或者没有权限。

7、SIGFPE:数学计算相关问题,比如除零操作。

8、SIGIPIPE:管道另一端没有进程接手数据。

9、EXC_BAD_INSTRUCTION:此类异常通常由于线程执行非法指令导致。

10、EXC_ARITHMENTIC:除零错误会抛出此类异常

以上是关于Crash类型的主要内容,如果未能解决你的问题,请参考以下文章

主线程 -[__NSDictionaryM objectForKey:] SEGV_ACCERR 类型的crash

以 NSException Timer Swift Crash 类型的未捕获异常终止

预防 app crash 之 unrecognized selector

Android Native crash日志分析

crash文件夹下的文件有用么

crash是啥