プロセスを終了させたプロセスを見つける

目次

本記事はマイクロソフト社員によって公開されております。

いつも弊社製品をご利用いただきまして誠にありがとうございます。Windows プラットフォーム サポートの栗木です。
今回は、Debugging Tools for Windows に含まれている gflags.exe ツールにより、 Silent Process Exit を有効化し、対象のプロセスが他のプロセスにより、終了させられた際に、プロセス ダンプを出力する方法をご紹介します。

例として、Silent Process Exit を notepad.exe (メモ帳)に設定し、Taskmgr.exe (タスク マネージャー)からメモ帳を終了させると、以下のスクリーン ショットのように notepad.exe と Taskmgr.exe の2つのプロセス ダンプが出力されます。このように Silent Process Exit は、対象のプロセスがどのプロセスにより終了させられたかを調査するのに有効な機能になります。

作業の流れ

  1. Debugging Tools for Windows をインストール
  2. gflags.exe ツールで対象のプロセスに対し、Silent Process Exit を有効化

Debugging Tools for Windows をインストール

以下の Web サイトから Windows SDK インストーラーをダウンロード&実行し、Debugging Tools for Windows をインストールします。
Download Debugging Tools for Windows
https://learn.microsoft.com/en-us/windows-hardware/drivers/debugger/debugger-download-tools

gflags.exe ツールで対象のプロセスに対し、Silent Process Exit を有効化

  1. 管理者権限で gflags.exe を実行
    対象のプロセスが、32bit アプリケーションであれば x86 フォルダの gflags.exe を 64bit アプリケーションであれば、x64 フォルダの gflags.exe を実行します。
    [Path の例]
    32bit:C:\Program Files (x86)\Windows Kits\10\Debuggers\x86\gflags.exe
    64bit:C:\Program Files (x86)\Windows Kits\10\Debuggers\x64\gflags.exe

  2. Silent Process Exit タブを開き、以下の通りに設定を行います。
    Image : notepad.exe
        - Enable Silent Process Exit Monitoring を有効化
    Reporting Mode : ✓Enable Dump Collection
    Dump Folder Location : C:\SilentProcessExit ※ 事前にこちらのフォルダ作成をお願いいたします。
    Dump Type : Custom Dump
    Custom Dump Type : 2
    Dump Folder Size : 15 (既定値:制限なし)

  3. OK をクリックし、設定は完了です。プロセスやサーバーの再起動は必要なく、設定は即座に反映されます。

設定後は、対象のプロセスが他のプロセスにより終了させられると自動的にプロセス ダンプが出力されます。ただ、対象のプロセスが自分で通常終了した場合も、プロセスダンプが出力されますので、注意してください。 調査が終わり、プロセス ダンプの出力が必要でなくなりましたら、次の方法で Silent Process Exit の無効化してください。

Silent Process Exit の無効化

設定に使用した gflags.exe を起動し、Image 欄に対象のプロセスを入力し、Enable Silent Process Exit Monitoring のチェックを外します。他の項目は、そのままでも、問題ございません。

本情報の内容(添付文書、リンク先などを含む)は、作成日時点でのものであり、予告なく変更される場合があります。