SIGSEGV 是类 Unix 系统中的一种信号(signal),表示程序发生了非法内存访问(常见为“段错误/访问越界”)。当进程试图读写不允许访问的内存地址(例如空指针、野指针、越界数组)时,操作系统通常会向该进程发送 SIGSEGV,导致程序崩溃或被终止(除非被捕获并处理)。
/ˌsɪɡˈsɛɡviː/
The program crashed with SIGSEGV when it tried to access a null pointer.
当程序试图访问空指针时,它因 SIGSEGV 而崩溃。
After the recent update, a rare race condition sometimes triggers SIGSEGV deep inside the memory allocator.
最近更新后,一个罕见的竞态条件有时会在内存分配器深处触发 SIGSEGV。
SIGSEGV 来自缩写:SIG(signal,信号)+ SEGV(segmentation violation,分段/内存访问违规)。早期系统使用“内存分段(segmentation)”等机制进行内存保护,这类越权访问被称为 segmentation violation;后来即使在不同内存管理机制下,这个名称仍沿用下来。