Trong lĩnh vực điện toán, crash (lỗi chương trình hay còn gọi là bị văng) xảy ra khi một ứng dụng máy tính, phần mềm hay hệ điều hành không hoạt động đúng cách và bị ngừng. Chương trình có thể bị treo khi dịch vụ báo cáo sự cố thông báo về tình trạng ngừng hoạt động và các chi tiết liên quan. Nếu chương trình là phần quan trọng của hệ điều hành, toàn bộ hệ thống có thể bị sập hoặc treo, dẫn đến lỗi kernel panic hay hệ thống chết.
Hầu hết các sự cố chương trình xảy ra do việc thực thi mã máy không hợp lệ. Nguyên nhân phổ biến bao gồm địa chỉ không hợp lệ trong bộ đếm chương trình, tràn bộ nhớ đệm, ghi đè lên mã chương trình bị lỗi do sự cố trước đó, opcode không hợp lệ hoặc kích hoạt các ngoại lệ không được xử lý. Lỗi phần mềm ban đầu gây ra chuỗi sự kiện này thường được xem là nguyên nhân làm chương trình ngừng hoạt động và có thể được phát hiện thông qua gỡ lỗi.
Trên các máy tính cá nhân trước đây, việc ghi dữ liệu vào các địa chỉ phần cứng ngoài bộ nhớ chính có thể gây hỏng phần cứng. Một số sự cố có thể bị khai thác để cho phép chương trình độc hại hoặc hacker thực thi mã lệnh tùy ý, tạo cơ hội sao chép virus hoặc thu thập dữ liệu khó truy cập.
Ứng dụng gặp sự cố
Ứng dụng thường gặp lỗi khi thực hiện hành động không được hệ điều hành cho phép. Hệ điều hành sau đó kích hoạt ngoại lệ hoặc tín hiệu trong ứng dụng. Các ứng dụng Unix truyền thống phản ứng với tín hiệu bằng cách ghi vào bộ nhớ lõi. Hầu hết các ứng dụng GUI của Windows và Unix sẽ hiển thị hộp thoại thông báo lỗi (như hộp thoại hiển thị bên phải) với tùy chọn đính kèm trình gỡ lỗi nếu có. Một số ứng dụng sẽ cố gắng khôi phục lỗi và tiếp tục hoạt động thay vì thoát.
Các lỗi phổ biến dẫn đến sự cố ứng dụng bao gồm:
- cố gắng đọc hoặc ghi vào bộ nhớ không được cấp phát cho ứng dụng.
- cố gắng thực hiện các lệnh đặc quyền hoặc không hợp lệ.
- cố gắng thực hiện thao tác I/O trên thiết bị phần cứng không có quyền truy cập.
- truyền các tham số không hợp lệ cho các lời gọi hệ thống.
- cố gắng truy cập các tài nguyên hệ thống khác mà ứng dụng không có quyền.
- cố gắng thực hiện lệnh máy với tham số sai (tùy thuộc vào kiến trúc CPU): chia cho 0, thao tác trên giá trị biến dạng hoặc giá trị NaN, truy cập vào bộ nhớ không được cấp phát...
Sự cố quay lại màn hình chính
'Sự cố quay lại màn hình chính' xảy ra khi một chương trình (thường là trò chơi điện tử) đột ngột thoát ra và đưa người dùng quay lại màn hình chính. Thuật ngữ này thường chỉ những sự cố không hiển thị lỗi, chỉ còn lại màn hình chính cho người dùng. Đôi khi, sự cố không có nguyên nhân rõ ràng và có thể xảy ra khi chương trình đóng băng trong một thời gian ngắn trước khi tự động đóng lại. Trong một số trường hợp, chương trình có thể chuyển thành màn hình đen và phát âm thanh cuối cùng trước khi đóng lại. Sự cố cũng có thể được kích hoạt bởi một hành động cụ thể, chẳng hạn như tải một khu vực.
Sự cố quay lại màn hình chính được coi là vấn đề nghiêm trọng vì chúng thường không hiển thị thông báo lỗi, làm khó khăn trong việc xác định nguyên nhân, đặc biệt nếu không có mô hình hay điểm chung giữa các sự cố. Một cách để xác định nguyên nhân là chạy chương trình ở chế độ cửa sổ. Windows Vista có tính năng hỗ trợ xác định nguyên nhân của sự cố CTD cho bất kỳ chương trình nào, và Windows XP cũng có tính năng tương tự.
Một số chương trình máy tính, như StepMania và Bamzooki của BBC, có thể gặp lỗi màn hình khi ở chế độ toàn màn hình, nhưng hiển thị lỗi trong một cửa sổ riêng khi người dùng trở lại màn hình chính. Sự cố thường liên quan đến lỗi trang web hoặc hệ thống.
- Màn hình xanh chết chóc
- Mất dữ liệu
- Lỗi bộ nhớ
- Khởi động lại
- Chế độ an toàn
- SystemRescueCD
Ghi chú
Liên kết bên ngoài
- Nhặt lại các mảnh ghép sau sự cố máy tính