この記事は検証可能な参考文献や出典が全く示されていないか、不十分です。出典を追加して記事の信頼性向上にご協力ください。(このテンプレートの使い方)
出典検索?: "クラッシュ" コンピュータ
クラッシュ(英: crash)または異常終了(いじょうしゅうりょう)とは、コンピュータの分野において、プログラムが通常とは異なる形で終了することを指す用語である。クラッシュの英語での本来の意味は「衝突、破壊、墜落」などであるが、本項では主に異常終了のケースについて記述する。
なお、ハードディスクドライブなどの補助記憶装置(ストレージ)が物理的に破損・故障して記憶内容が損なわれることを、クラッシュと呼ぶこともある[1]。 異常終了の結果としての「ダウン」(英: down)を含め、日本語では俗に「落ちた」、「死んだ」などとも言う。 メインフレームなどでは「ABEND(アベンド、ABnormal END
類義語
「crash to desktop」の略で「CTD」と呼ばれることもあり、主にコンピューターゲーム用語として使われている。
広義では「正常に動作しなくなる」ことを指し、「フリーズ」(停止、固まる)を含む意味で使われることもあるが、フリーズ状態は通例プログラムがまだ実行中であり終了しているわけではない。もしデッドロックなどに陥っているわけではなく、何らかの処理に時間がかかって応答が滞っているだけである場合、放置していればフリーズは回復する可能性もある。GUIアプリケーションのイベントループをつかさどるメインスレッド(ユーザーインターフェイススレッド)が応答不能になると、オペレーティングシステムによって応答停止を示すダイアログが表示される場合があるが、待機を続けるほかにクローズする選択肢も含まれ、クローズを選択するとアプリケーションは強制終了される[2][3]。これは実質的にクラッシュに近い。 プログラムの設計ミスによる不具合(バグ)の中には、プログラムの続行が許されないほど致命的な問題を引き起こすものがあり、これがクラッシュを誘発する。クラッシュの遠因になる事象は、異常値の入力[注釈 1]、高負荷、長時間の連続稼動など様々なものがある。例えばプログラム中に異常値の入力を想定していない処理があると、異常値の入力によって整数のゼロ除算、ヌルポインタのデリファレンスやバッファオーバーラン(バッファオーバーフロー)によるアクセス違反
概要