Índice:
- Definição - O que significa Segmentation Fault (Segfault)?
- Techopedia explica falha de segmentação (Segfault)
Definição - O que significa Segmentation Fault (Segfault)?
Uma falha de segmentação (segfault) é um erro retornado pelo hardware com proteção de memória que informa ao sistema operacional que ocorreu uma violação de acesso à memória. O sistema operacional geralmente reage informando o processo incorreto sobre o erro através de um sinal e, em seguida, o sistema operacional executa algum tipo de ação corretiva. Isso acontece porque um processo ou programa tenta acessar a memória que não está atribuída a ele.
Uma falha de segmentação também é conhecida como violação de acesso.
Techopedia explica falha de segmentação (Segfault)
Uma falha de segmentação geralmente é causada por erros na programação de um processo ou aplicativo no qual o programa é levado a acessar a memória que não foi alocada para ele, mas para outros programas ou para o próprio sistema. Um processo não pode tocar na memória não reservada para ele, pois sempre deve solicitar memória antes de usá-lo. Portanto, quando acidentalmente toca na memória que não está atribuída a ele, ocorre uma violação de acesso.
Segfaults também podem ser causados por uma função recursiva, que pode consumir todo o espaço de pilha atribuído e invadir rapidamente a memória não atribuída a ele. Em alguns sistemas, isso é considerado um estouro de pilha, mas para outros é simplesmente um tipo de violação de acesso.
Uma falha de segmentação pode ser tratada por um processo por meio de um manipulador de sinal personalizado, mas geralmente é o manipulador de sinal padrão do sistema operacional usado, o que geralmente resulta no término do processo ofensivo de forma anormal, chamado de falha, ou o sistema operacional forçando um dump principal. .