段错误

段错误

段错误(Segmentation Fault)是程序因试图访问受限内存区域引发的运行错误,在Unix系统中表现为SIGSEGV信号,Windows系统中为STATUS_ACCESS_VIOLATION异常 。常见成因包括访问空指针、内存越界、修改只读数据或栈溢出等。其名称源于早期操作系统的内存分段管理机制,现代系统虽多采用分页机制,但该术语仍被沿用。

调试时可借助GDB工具分析含调试信息的可执行文件或系统生成的core文件定位错误代码行。触发过程中,CPU通过48位的gdtr寄存器访问全局描述符表(GDT),该寄存器前32位存储GDT基址,中间13位为表项索引,后3位记录程序状态及权限级别。内存越界或权限违规时,CPU触发异常保护机制生成段错误。

想要了解更多“段错误”的信息,请点击:段错误百科