イベントID 1000でゲームが落ちる原因を探す診断チャート|Faulting Moduleと例外コードで原因記事15選【2026年版】
本記事にはアフィリエイト広告(Amazon・楽天市場等)のリンクが含まれています。
Faulting Moduleは犯人の名前ではなく、次に調べる場所の名前
出典:記事末尾に挙げたMicrosoft公式ドキュメントにもとづきます(2026年9月10日確認)。
PCゲームが何のエラー表示も出さずにデスクトップへ戻ったとき、Windows側に残る手掛かりがイベントビューアーの「Application Error」です。ソースがApplication Error、イベントIDが1000のエラーには、どのプロセスが、どのモジュール上で、どの例外によって終了したのかが記録されています。
ただしここに表示される「障害が発生しているモジュール名」は、原因の名指しではありません。KERNELBASE.dllやntdll.dllのようにWindowsの多くのアプリが使う共通コンポーネントは、別の場所で起きた異常が最終的に表面化した場所として記録されます。そのモジュールを入れ直しても直らないのはこのためです。
このページは、イベントID 1000を開いたあとにどこへ進むかを決めるための分岐表です。読むべき4項目を先に押さえ、例外コードとモジュールの組み合わせから該当する原因記事へ振り分けます。個々のモジュールや例外コードの詳しい仕組みは、それぞれの記事にまとめてあります。
目次
読み方イベントID 1000で見るのは4項目だけ
イベントビューアーを開き、「Windowsログ」から「Application」を選びます。ゲームが落ちた時刻付近で、ソースが「Application Error」、イベントIDが1000のエラーを探してください。開いたら次の4項目だけを見ます。
| 項目 | 何が分かるか | 読み違えやすい点 |
|---|---|---|
| 障害が発生しているアプリケーション名 | 実際に落ちたプロセス | ゲーム本体ではなくランチャーや録画ソフトのことがある |
| 障害が発生しているモジュール名 | クラッシュが表面化した場所 | 原因そのものとは限らない |
| 例外コード | 起きた例外の種類 | モジュール名より優先度が高い |
| 障害が発生しているモジュールのパス | そのDLLがWindows標準か追加物か | 同名でも置き場所で意味が変わる |
最初に確認するのはアプリケーション名です。イベントID 1000はゲーム専用のイベントではないため、ランチャーやオーバーレイ、ブラウザーのクラッシュも同じ形で記録されます。落ちた時刻と実行ファイル名が実際のゲームと一致しているかを見てから先へ進んでください。
パスも軽視できません。たとえば同じdxgi.dllでも、C:\Windows\System32\にあるならWindows標準のものですが、ゲームのインストールフォルダー内にあるならReShadeやMODが置いたファイルの可能性があります。名前だけを見て「DirectXが壊れた」と判断すると原因を見失います。
前提モジュール名は原因の名指しではない
この診断で最も間違えやすいのが、記録されたモジュール名を犯人として扱ってしまうことです。
KERNELBASE.dllやntdll.dllは、Windows上の多くのアプリケーションが利用する共通コンポーネントです。ゲームやランタイムが別の場所で例外を発生させ、その処理がこれらのDLLを経由した結果、そこが記録されることがあります。モジュール名を検索して同名ファイルを配布サイトから入手しても、状況は変わりません。
そのため、モジュール名は「交換するファイル名」ではなく「次に調べる経路」として使います。例外コードと組み合わせて初めて意味を持つ情報だと考えてください。
分岐1例外コードから探す
モジュール名が何であれ、例外コードが分かっているならそこから絞り込むのが最短です。同じKERNELBASE.dllでも、例外コードが違えば調べる場所が変わります。
- 「EXCEPTION_ACCESS_VIOLATION reading address」が表示される
- 例外コードが0xc0000005で「メモリを参照しました」が出る
- 例外コードが0xc0000409になっている
- 例外コードが0xc000001dでゲームが起動しない
- 例外コードが0xe06d7363になっている
0xc0000005は無効なメモリアドレスへの読み書きや実行によるアクセス違反、0xc0000409はアプリが自ら重大な状態を検出して即座に終了するFail Fast、0xe06d7363はC++の例外、0xc000001dはCPUが実行できない命令の実行です。ただしどれも「その一言で原因が決まる」性質ではないため、上のリンク先で条件を確認してください。
分岐2Windows共通DLLやランタイムが記録された
KERNELBASE.dll、ntdll.dll、VCRUNTIME140.dll、MSVCP140.dll、ucrtbase.dllなど、多くのアプリが共有するモジュールが出た場合です。ここでWindowsの再インストールへ進むのは早すぎます。
分岐3グラフィックス経路のモジュールが記録された
d3d12.dll、dxgi.dll、nvwgf2umx.dllなど描画に関わるモジュールが出た場合です。DirectXが壊れたと考える前に、パスとGPUドライバーを確認します。
画面が一瞬暗転してから落ちる、複数のゲームが同じGPUドライバーのDLLで落ちるといった場合は、GPUドライバー・TDR・DXGIの診断チャートのほうが範囲を広く扱っています。
分岐4ゲームエンジンのモジュールが記録された
UnityPlayer.dllやGameAssembly.dllはWindowsの共通DLLではなく、そのゲームのビルドに含まれるモジュールです。外部サイトから同名ファイルを入手して置き換える対処はできません。エンジン側のログを読むのが近道になります。
別系統そもそもイベント1000が出ていない場合
落ち方が違えば、記録されるイベントも変わります。次の2つはイベントID 1000の範囲外です。
ゲームがデスクトップへ戻ったならイベント1000、固まったまま残ったならイベント1002です。前者は例外で終了した記録、後者は応答を停止した記録で、次に見る情報がまったく違います。
記録同じ組み合わせで再現するかを確かめる
1回の記録だけでは原因を絞れません。複数回のクラッシュで、モジュール名と例外コードの組み合わせがどう変わるかを見てください。
| 複数回の記録 | 読み方 |
|---|---|
| 毎回まったく同じモジュールと例外コード | 再現性が高い。そのゲームやMOD、ドライバー経路へ絞れる |
| 同じゲームだが例外コードが毎回違う | ゲーム側の複数の不具合か、PC側の不安定が疑わしい |
| 無関係な複数アプリがばらばらの場所で落ちる | XMP・EXPOやオーバークロックを標準へ戻して比較する |
| ゲーム本体のexeで固定されている | MODを外す、整合性チェック、新規セーブで比較する |
特定の1本でしか起きないなら、Windows全体の修復から始める必要はありません。逆に無関係な複数のアプリが別々の場所で落ちるなら、個別のDLLを追いかけるよりPC全体の安定性を確認するほうが早く進みます。
最終手段それでも分からないならダンプを残す
モジュール名と例外コードを確認しても原因が絞れず、同じクラッシュが繰り返される場合は、クラッシュ時のダンプを残す方法があります。
WindowsエラーレポートにはLocalDumpsという仕組みがあり、ユーザーモードのアプリがクラッシュしたときにダンプをローカルへ保存できます。Microsoftの資料によるとこの機能は既定では有効ではなく、有効化には管理者権限が必要です。設定はレジストリのHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\Windows Error Reporting\LocalDumpsキーで行います。
| 値 | 内容 | 既定値 |
|---|---|---|
| DumpFolder | ダンプの保存先 | %LOCALAPPDATA%\CrashDumps |
| DumpCount | 保持する最大数。超えると古いものから置き換わる | 10 |
| DumpType | 0はカスタム、1はミニダンプ、2はフルダンプ | 1 |
フルダンプはゲームが使っているメモリを広く保存するため、容量が非常に大きくなります。調べたいゲームだけを対象にするなら、LocalDumpsの下に実行ファイル名のキーを作って設定を書きます。Microsoftの資料でも、アプリごとの設定がグローバル設定を上書きすると説明されています。
ダンプの中身を読むにはデバッガーの知識が必要ですが、ゲーム開発元へ不具合を報告するときの添付資料としてそのまま使えます。その際は障害が発生しているモジュール名、例外コード、障害オフセットもあわせて伝えると、開発元側が同じ箇所かどうかを判断しやすくなります。なお、独自のクラッシュレポート機能を持つアプリはこの仕組みの対象外です。
回り道先にやらなくていいこと
イベントID 1000を見つけた直後にやりがちで、たいていは遠回りになる対処を挙げます。
| やりがちな対処 | 先にやらないほうがよい理由 |
|---|---|
| DLL配布サイトから同名ファイルを入手する | Windows標準DLLはWindowsが管理し、エンジンDLLはそのゲームのビルド専用。バージョンが一致しない |
| sfc /scannowやDISMから始める | 1本のゲームだけが落ちる段階では、Windowsのファイル破損を示す根拠がない |
| ゲームを再インストールする | 整合性チェックとMOD除去で足りることが多く、MOD由来のDLLは残る場合もある |
| Visual C++ ランタイムを繰り返し入れ直す | ランタイム上で例外が表面化しただけのことがある。例外コードを先に見る |
FAQよくある質問
まとめモジュール名と例外コードは必ずセットで読む
イベントID 1000は、どのアプリが、どのモジュール上で、どの例外によって終了したのかを記録するイベントです。ここから分かるのは落ちた場所と例外の種類までで、原因そのものが書かれているわけではありません。
読むべきは4項目です。障害が発生しているアプリケーション名で本当にゲームが落ちたのかを確かめ、モジュール名で表面化した場所を知り、例外コードで例外の種類を絞り、モジュールのパスでWindows標準か追加物かを見分けます。
モジュール名だけで判断しないでください。KERNELBASE.dllやntdll.dllは巻き込まれて記録される側になることがあり、そのDLLを入れ直しても状況は変わりません。例外コードとパスを合わせて読むと、次に調べる場所が決まります。
複数回のクラッシュで組み合わせが固定されるなら再現性の高い不具合で、そのゲームやMOD、ドライバー経路へ絞れます。逆に無関係な複数のアプリがばらばらの場所で落ちるなら、XMP・EXPOやオーバークロックを標準へ戻すところから確認します。
それでも分からず同じクラッシュが繰り返される場合は、WindowsエラーレポートのLocalDumpsでダンプを残し、開発元への報告材料にします。DLLの入手やWindowsの修復から始める必要はありません。



