Crash (máy tính)

Bách khoa toàn thư mở Wikipedia
Buớc tưới chuyển hướng Bước tới tìm kiếm
Một lỗi hạt nhân được hiển thị trên iMac.

Trong điện toán, crash (hoặc hỏng chương trình) xảy ra khi một chương trình máy tính, phần mềm ứng dụng hay hệ điều hành, ngừng hoạt động không đúng cách và thoát. Chương trình có trách nhiệm có thể treo tới khi dịch vụ báo cáo crash thông báo chương trình ngừng hoạt động và các chi tiết liên quan đến nó. Nếu chương trình là một phần quan trọng của hệ điều hành, toàn bộ hệ thống có thể sụp đổ hoặc treo, thường dẫn đến kernel panic hay lỗi hệ thống chết người.

Hầu hết các trường hợp chương trình dừng hoạt động là kết quả việc thực thi mã máy không hợp lệ. Nguyên nhân điển hình như giá trị địa chỉ không hợp lệ trong bộ đếm chương trình, tràn bộ nhớ đệm, ghi đè lên một phần của mã chương trình bị ảnh hưởng do một lỗi trước đó, qua một opcode không hợp lệ hoặc qua việc kích hoạt các ngoại lệ không được xử lý. Lỗi phần mềm ban đầu bắt đầu chuỗi các sự kiện này thường được coi là nguyên nhân làm cho chương trình ngừng hoạt động, có thể được phát hiện thông qua các quy trình gỡ lỗi.

Trong các máy tính cá nhân trước đó, việc cố gắng ghi dữ liệu vào các địa chỉ phần cứng bên ngoài bộ nhớ chính của hệ thống có thể gây ra hư hỏng phần cứng. Một số sự cố có thể bị khai thác và để chương trình độc hại hoặc hacker thực thi mã lệnh bất kỳ cho phép sao chép virus hoặc việc thu thập dữ liệu thường không thể truy cập được.

Ứng dụng bị crash[sửa | sửa mã nguồn]

Một màn hình tại Sân bay Frankfurt đang chạy một chương trình trong Windows XP đã bị crash do vi phạm quyền truy cập đọc bộ nhớ

Một ứng dụng thường gặp sự cố khi nó thực hiện một hoạt động không được hệ điều hành cho phép. Hệ điều hành sau đó kích hoạt một ngoại lệ hoặc tín hiệu trong ứng dụng. Các ứng dụng Unix theo truyền thống đã phản ứng với tín hiệu bằng cách đẩy xuống lõi.Hầu hết các ứng dụng GUI của WindowsUnix đều phản hồi bằng cách hiển thị hộp thoại (chẳng hạn 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 cài đặt. Một số ứng dụng cố gắng khôi phục từ lỗi và tiếp tục chạy thay vì thoát

Các lỗi điển hình dẫn đến crash ứng dụng bao gồm:

  • cố gắng đọc hoặc ghi bộ nhớ không được phân bổ để đọc hoặc ghi bởi ứng dụng.
  • cố gắng thực hiện các hướng dẫn đặc quyền hoặc không hợp lệ
  • cố gắng thực hiện các thao tác I/O trên các thiết bị phần cứng mà nó không có quyền truy cập
  • chuyển các đối 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 truy cập
  • cố gắng thực hiện các lệnh máy với các đối số xấu (tùy thuộc vào kiến trúc CPU): chia cho 0, thao tác trên các giá trị biến dạng hay giá trị NaN, truy cập bộ nhớ vào không được phân bổ địa chỉ...

Crash to desktop[sửa | sửa mã nguồn]

A "crash to desktop" is said to occur when a program (commonly a video game) unexpectedly quits, abruptly taking the user back to the desktop. Usually, the term is applied only to crashes where no error is displayed, hence all the user sees as a result of the crash is the desktop. Many times there is no apparent action that causes a crash to desktop. During normal function, the program may freeze for a shorter period of time, and then close by itself. Also during normal function, the program may become a black screen and play the last few seconds of sound (depending on the size of the data buffer) that was being played repeatedly before it crashes to desktop. Other times it may appear to be triggered by a certain action, such as loading an area.

Crash to desktop bugs are considered particularly problematic for users. Since they frequently display no error message, it can be very difficult to track down the source of the problem, especially if the times they occur and the actions taking place right before the crash do not appear to have any pattern or common ground. One way to track down the source of the problem for games is to run them in windowed-mode. Windows Vista has a feature that can help track down the cause of a CTD problem when it occurs on any program.[cần giải thích] Windows XP included a similar feature as well.[cần giải thích]

Some computer programs, such as StepMania and BBC's Bamzooki, also crash to desktop if in full-screen, but displays the error in a separate window when the user has returned to the desktop. Crashes are usually caused by website failure or system failure.[cần dẫn nguồn]

Xem thêm[sửa | sửa mã nguồn]

Chú thích[sửa | sửa mã nguồn]

Liên kết ngoài[sửa | sửa mã nguồn]