Trang Chủ Âm thanh Một lỗi phân khúc (segfault) là gì? - định nghĩa từ techopedia

Một lỗi phân khúc (segfault) là gì? - định nghĩa từ techopedia

Mục lục:

Anonim

Định nghĩa - Phân đoạn lỗi (Segfault) có nghĩa là gì?

Lỗi phân đoạn (segfault) là lỗi được trả về bởi phần cứng có bảo vệ bộ nhớ cho hệ điều hành biết rằng đã xảy ra vi phạm truy cập bộ nhớ. Hệ điều hành thường phản ứng bằng cách báo cho quá trình vi phạm về lỗi thông qua tín hiệu và sau đó HĐH thực hiện một số hành động khắc phục. Điều này xảy ra vì một quá trình hoặc chương trình cố gắng truy cập bộ nhớ không được gán cho nó.

Một lỗi phân khúc cũng được gọi là vi phạm truy cập.

Techopedia giải thích Phân đoạn lỗi (Segfault)

Lỗi phân đoạn thường do lỗi trong lập trình của một quy trình hoặc ứng dụng trong đó chương trình được dẫn đến bộ nhớ truy cập không được phân bổ cho nó mà cho các chương trình khác hoặc cho chính hệ thống. Một quá trình không được phép chạm vào bộ nhớ không dành riêng cho nó, vì nó phải luôn yêu cầu bộ nhớ trước khi sử dụng nó. Do đó, khi nó vô tình chạm vào bộ nhớ không được gán cho nó, sẽ xảy ra vi phạm truy cập.


Segfaults cũng có thể được gây ra bởi một hàm đệ quy, có thể sử dụng hết tất cả không gian ngăn xếp được gán và nhanh chóng xâm lấn vào bộ nhớ không được gán cho nó. Trong một số hệ thống, đây được coi là tràn ngăn xếp, nhưng đối với những hệ thống khác, nó chỉ đơn giản là một loại vi phạm truy cập.


Một lỗi phân đoạn có thể được xử lý bằng một quy trình thông qua trình xử lý tín hiệu tùy chỉnh, nhưng thường thì đó là trình xử lý tín hiệu mặc định của HĐH được sử dụng, điều này thường dẫn đến quá trình vi phạm bị chấm dứt một cách bất thường, được gọi là sự cố hoặc HĐH buộc kết xuất lõi .

Một lỗi phân khúc (segfault) là gì? - định nghĩa từ techopedia