[トップページへ] [Windows 10 FAQ 一覧に戻る]

対象:Windows 10

VCで作成したプログラムがアクセス違反(NTDLL.DLL、0x00000005) でアクセス違反する



スポンサーリンク



VCで作成したプログラムを実行したところ、以下のaccess violation(アクセス保護違反)を起こし、アプリケーションが異常終了する場合があります。

ハンドルされない例外が 0xxxxxxxxx (ntdll.dll) で発生しました (mofmof.exe 内): 0xC0000005: 場所 0xxxxxxxxx への読み込み中にアクセス違反が発生しました

0xxxxxxxx は環境により値が異なります。毎回異なるアドレスで発生するため、デバッグが困難です。
VCをデバッグモードで起動しても、アクセス違反が発生するのが NTDLL.DLL 内であり原因がはっきりしない場合があります。

この場合は、プログラムの不具合によるヒープの破壊(mallocなど)が考えられますが、今回は該当しませんでした。

またプログラムからCreateThreadをコールすることによりマルチスレッドを実現している場合、スレッドのハンドル処理に誤りがある場合なども各スレッドがNtdll.dll をコールする場合に障害が発生する場合があります。
ただこれも今回は該当しませんでした。

今回の原因は単純でした。
Visual Studio 2013のUpdate 4を使用していましたが、Update 5 を適用後コンパイル、リンクを実行したら改善されました。

最終更新日:2016/07/20


スポンサーリンク




(ご注意) 本サイト内の内容を使用して発生したいかなる時間的損害、金銭的損害あるいはいかなる損害に対して、いかなる人物も一切の責任を負いません。あくまでも個人の判断で使用してください。 本ページは独自に調査をしたアンオフィシャル(非公式)な内容です。内容に誤りがあったり、仕様変更により内容が変わる可能性があります。 本サイト内掲載されている情報は、著作権法により保護されています。いかなる場合でも権利者の許可なくコピー、配布することはできません。 このページはリンクフリーです。(このページへの直接リンクも可能です。)


Copyright(c) TOOLJP.COM 1999-2017

[Windows 10 FAQ 一覧に戻る]