Native 崩溃的根因可以从内核发送的信号类型推断:
- SIGSEGV (Segmentation Fault):段错误,最常见的 Native 崩溃。来源包括解引用 NULL 指针、Use-After-Free、数组越界、写入只读内存段等。
- SIGILL (Illegal Instruction):非法指令,CPU 指令指针指向无效地址,如函数指针错误跳转、栈被破坏导致返回地址错误。
- SIGABRT (Abort):程序主动终止,通常由
abort()触发,C/C++ 中assert断言失败也会调用它。 - SIGFPE (Floating-Point Exception):浮点数异常,如整数除零、浮点数上下溢。
根据 siginfo_t 中的 si_addr 等信息,可以进一步定位崩溃发生的具体内存地址。




