Segmentation fault(简称 segfault):一种常见的程序运行时错误,表示程序非法访问内存(例如访问了不属于它的地址、访问了不可读/不可写的区域,或解引用了无效指针),操作系统因此终止该进程。常见于 C/C++ 等底层语言环境。(在不同系统/语境中也可泛指“内存访问违规”导致的崩溃。)
/ˌsɛɡmɛnˈteɪʃən fɔːlt/(美式常见)
/ˌsɛɡmɛnˈteɪʃən fɒlt/(英式常见)
The program crashed with a segmentation fault.
程序因段错误而崩溃了。
After I freed the pointer, the code sometimes caused a segmentation fault when it tried to write to that memory again.
在我释放指针之后,代码有时会在试图再次写入那块内存时触发段错误。
segmentation 来自 segment(片段、段),表示“分段”;在早期计算与内存管理中,内存可按“段”来组织与保护。fault 表示“故障/错误”。合起来指“与内存分段/保护有关的访问故障”,现代操作系统中通常对应对受保护内存区域的非法访问(如 SIGSEGV)。
“segmentation fault” 更常见于技术写作、工程博客与编程教材,在传统文学作品中出现较少;在一些以程序员文化为背景的作品或技术随笔中可能作为“程序崩溃/调试困境”的标志性术语出现。较常见的载体包括: