異常終了とは
異常終了は、機能しているコンピュータープログラムまたはアプリケーションの突然の予期しない終了です。 その名前は元々、古いIBM 360オペレーティングシステムに由来し、そのような終了はABENDエラーとして記録されていました。 プログラムの異常終了は、さまざまな理由で発生する可能性がありますが、最も一般的な理由には、システムメモリの問題またはソフトウェアのコード内の問題が含まれます。 このタイプの終了が発生すると、プログラムは自動的に終了し、オペレーティングシステムはプログラムのメモリをフラッシュし、通常の状況でプログラムが正常に終了したかのように動作することにより、被害を軽減します。
コンピューターのシステムメモリ内の問題により、システム上の1つ以上のプログラムが異常終了する可能性があります。 コンピューターがメモリリークの発生を許可する場合(オペレーティングシステムによって割り当てられていないメモリへのプログラムの書き込みを許可する場合)、別のプログラムに属するメモリの一部を誤って上書きする可能性があります。 「侵入された」プログラムは、メモリの侵入されたセクションに保存された情報を再利用しようとすると、正しい予測データを見つけることができなくなります。 この不一致は、侵入プログラムによって保存された上書き情報を使用して実行できないため、多くの場合、アプリケーションの完全なクラッシュをもたらします。
ソフトウェアコードの問題により、プログラムが異常終了する場合があります。 ソフトウェアにバグがあるか、十分なエラー処理コードが含まれていない場合、エンドユーザーによる誤った入力により、ソフトウェアが異常終了する可能性があります。 たとえば、通常、エンドユーザーに電話番号の入力を求めるプログラムはコーディングされ、10桁を含まない非数値の回答は潜在的なエラーとしてすぐに「キャッチ」され、エンドユーザーに次のように返されます。悪い結果。 このエラー処理コードを含まない未熟または不完全なソフトウェアは、誤った入力を受け取るとクラッシュする可能性があります。 エンドユーザーが自分の電話番号として「abcdefg」を入力することにした場合、プログラムは対処できません。
異常終了が発生すると、オペレーティングシステムは通常、プログラムの終了が発生したことをコンピューターユーザーに警告します。 これを実行した後、オペレーティングシステムの仕事は、システム上の他のプログラムに悪影響を与えることなくクラッシュから回復することです。 これを行うには、通常、プログラムが正常に終了した場合とまったく同じように、プログラムに割り当てたメモリを解放します。 プログラムの異常終了に関する情報は多くの場合、オペレーティングシステムのクラッシュログに保存されるため、エンドユーザーはクラッシュ情報を確認して、競合の潜在的な根本原因を探すことができます。