[ホーム] - [Windows 10 FAQ 一覧] - [VCで作成したプログラムがアクセス違反(NTDLL.DLL、0x00000005) でアクセス違反する]



作成日:2016/07/20
更新日:2017/05/07
対象: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 を適用後コンパイル、リンクを実行したら改善されました。







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


Copyright(c) TOOLJP.COM 1999-2024

[Windows 10 FAQ 一覧に戻る]