Аварийный отказ (программирование)![]() Аварийный отказ[1][2] (также катастрофический отказ[1][2], авария[3][2], фатальный сбой[2], разг. крах, вылет, падение, крэш англ. crash) — это аварийное завершение программы или операционной системы, когда они перестают нормально функционировать. Часто программа зависает, пока не будет создан отчёт об ошибке с подробностями отказа. Если программа является важной частью операционной системы, вся система может аварийно завершить работу или зависнуть в результате паники ядра или фатальной системной ошибки. Большинство отказов являются результатом выполнения недопустимых машинных инструкций. Например, когда счётчик команд установлен на неправильный адрес, или в результате переполнения буфера перезаписывается часть данных программы из-за ошибки. Это приводит к доступу к случайным значениям данных в памяти, которые уже не соответствуют начальному запросу, и происходит обработка исключений в процессоре. Исходная ошибка программного обеспечения, которая запустила эту цепочку событий, как правило, считается причиной сбоя, который обнаруживается в процессе отладки. Это часто далеко не очевидно, так как исходная ошибка может быть далека от события сбоя и казаться совершенно корректным исходным кодом. Отказы программ![]() Приложение обычно завершает работу, когда оно выполняет операцию, которая не разрешена операционной системой. Затем операционная система запускает в приложении исключение или сигнал. Unix приложения традиционно отвечают на сигнал с помощью дампа памяти. Большинство Windows и Unix приложений с графическим интерфейсом пользователя отвечают отображением диалогового окна с возможностью подключения отладчика, если он установлен. Некоторые приложения пытаются восстановиться после ошибки и продолжить работу вместо выхода. Типичные ошибки, приводящие к сбоям приложений, включают:
Отказ Web-сервераПриложение, запущенное на веб-сервере, может отказать, и сайт может не работать или показывать сообщение с ошибкой. К примеру, если сайт, использующий базу данных SQL (например MySQL) использует скрипт (например на PHP), и этот сервер упадёт, то PHP выдаст ошибку подключения. См. также
Примечания
Литература
Ссылки
|
Portal di Ensiklopedia Dunia