一般保護エラーは、すでにほかのプログラムによって使用されているメモリ番地を別のプログラムが不正にアクセスした場合に発生します。
ちなみに分かったからといっても時すでに遅しですが・・・
例外エラー番号一覧
00 0で割り算を実行した場合と、割り算を行った結果をメモリ領域に書き出せなかった場合に発生
01 デバッグレジスタによるブレークポイント、シングルステップタスク切り替えとラップなどで発生する
02 NMIマスク不能な割り込みように用意されているコード、このコードを会したエラーはほとんどない
03 デバッガが設定したブレークポイントによって発生する割り込みエラー
04 OFビットが1に設定されているときに、CPUがINTO命令を発行したことで起こるーバーフロー割り込みエラー
05 BOUND命令が行う配列インデックスの境界チェックで、規定の範囲以外になっていた場合の割り込みエラー
06 メモリ中のプログラムのコードが壊れたなどの原因でCPUが無効命令を実行しようとしたために起こる
07 数値演算コプロセッサが利用できないにもかかわらず、プログラムが浮動小数点計算命令を出したときに発生
08 二重違反ともいう、CPUが例外処理を行っている最中にさらに例外が発生したことを示している
09 数値演算コプロセッサのメモリアクセスが決められた境界を間合いでしまった場合に発生する例外エラー
10 タスクステートメントの異状により発生するエラー
11 仮想メモリ用にシステムが予約し、不在設定を行っているメモリの領域にアクセスした場合に発生
12 スタックへの不正なアクセスで発生するエラー
13 メモリ内でプログラムが破壊された状態また、どの分類にも当てはまらないCPUエラーも含む
14 ページングエラーウインドウズ95では不正な領域のメモリへアクセスした場合に発生する
15 CPUの将来のバージョンの準備
16 あるはずのコプロセッサがない場合や、何らかの理由でコプロセッサにアクセスできないときに発生する