音讯 什么是分段错误(segfault)? -技术百科的定义

什么是分段错误(segfault)? -技术百科的定义

目录:

Anonim

定义-Segmentation Fault(Segfault)是什么意思?

分段错误(segfault)是具有内存保护功能的硬件返回的错误,它告诉操作系统发生了内存访问冲突。 操作系统通常会通过信号告知错误进程有关错误的反应,然后操作系统执行某种纠正措施。 发生这种情况的原因是进程或程序尝试访问未分配给它的内存。

分段错误也称为访问冲突。

技术百科解释了分段错误(Segfault)

分段错误通常是由流程或应用程序的编程错误引起的,在该过程中,程序被引导到未分配给它的访问内存,而是为其他程序或系统本身分配了内存。 进程不允许接触未为其预留的内存,因为它必须始终在使用内存之前请求内存。 因此,当它意外触摸未分配给它的内存时,就会发生访问冲突。


分段错误也可能由递归函数引起,该函数可能会耗尽分配给它的所有堆栈空间,并迅速占用未分配给它的内存。 在某些系统中,这被认为是堆栈溢出,但是对于其他系统,这仅仅是一种访问冲突。


分段错误可以由进程通过自定义信号处理程序来处理,但是通常使用的是操作系统的默认信号处理程序,这通常会导致有问题的进程异常终止(称为崩溃),或者操作系统强制执行核心转储。

什么是分段错误(segfault)? -技术百科的定义