NativeCrash
    不同的信号,抛出不同的问题

    补充常见的Exception Type异常类型的信息:
    1、EXC_BAD_ACCESS:此类型是最常见的crash, 通常用于访问了不该访问的内存导致的,一般EXC_BAD_ACCESS后面的()还会带有补充信息
    野指针错误形式在Xcode中通常表现为:Thread 1:EXC_BAD_ACCESS(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_ARITHMETIC:除零错误会抛出此类异常

    程序员自我修养之crash监控 待学习
    Android 平台 Native 代码的崩溃捕获机制及实现