EAccessViolationについて
EAccessViolation エラーメッセージ
EAccessViolationエラーが発生すると、下記のようなメッセージが表示されると思います。
アプリケーション エラー
—————————
EAccessViolation がモジュール [xxx.exe/dll] の 00000000 で発生しました。
モジュール ‘[xxx.exe/dll]’ のアドレス 00000000 でアドレス FFFFFFFF に対する読み取り違反がおきました。.
—————————
OK
—————————
英語の場合は下記メッセージかと。
Access violation at address 00000000. Read of address 00000000.
EAccessViolationの原因
EAccessViolationはメモリへのアクセス違反の一種です。
対象のプログラムが、利用不可なメモリ(対象プログラムへの割当外、別プログラムへ割当済、制限されている等)にアクセスしようとしたときのエラーです。
通常はプログラムが使用するメモリは自動で割り当てが行われるのですが、このエラーが発生する場合は【対象プログラムの不具合】や【環境面での整備不足】が考えられます。
また、ドライバの不整合、データの破損、ハードウェア(メモリや基盤)のエラー等でデータが正常に読み込めない場合などにも発生します。
EAccessViolationの解決手順
下記項目を試して、解決できない場合は5.や6.になるかと思います。
ドライバや拡張機能は結構見落としがちなので、面倒でもちゃんと確認することをお勧めします。
1.パソコンを再起動や電源の完全シャットダウンを行って様子をみる。
【完全シャットダウンについてはこちら】
2.対象プログラムが判明している場合はプログラム/ドライバ等を最新版へ更新/再インストール。
対象プログラムによっては不具合情報やパッチ等が公開されている場合もあるのでチェック。
また、対象プログラムが必要とするもの(.Net Framework等)や環境面での前提条件/準備も確認する。
3.ブラウザや各種プログラムのキャッシュや履歴を削除。
ブラウザの拡張機能やOfficeなどのアドインを使用している場合は、それらもすべて停止。
4.WindowsUpdate(オプションやドライバの更新も含む)および各種プログラムの最新版への更新。
メーカーから専用プログラムやドライバが出ているものは、それらのガイドに従い更新/再インストール。
5.メモリの増設
6.Windowsの復元/初期化
コメント