次の方法で共有


プロセス エクスプローラーを使用した問題のトラブルシューティング

この記事は、プロセス エクスプローラーの使用に関する問題のトラブルシューティングに役立ちます。

プロセス エクスプローラー ツールは、 Sysinternals ツール スイートの一部です。 コンピューターで現在実行されているすべてのプロセスと、それらを呼び出したユーザーと、それらが消費しているシステム リソース (スタックとスレッドを含む) の合計に関する詳細が表示されます。

オペレーティング システム関連のプロセス (システムなど) を確認する場合は、次の手順に従います。

  1. プロセス エクスプローラーを管理者として実行します。
  2. プロセスを右クリックし、 Propertiesを選択し、 Threads タブを選択します。
  3. 確認するスレッドを選択し、 Stack を選択して、実行中の関数を表示します。

スタック情報の結果を改善するには、次の手順に従ってプロセス エクスプローラーでシンボルを構成します。

  1. Debugging Tools for Windows をインストールします。
  2. プロセス エクスプローラーを管理者として実行します。
  3. Options メニューを選択し、 シンボルの構成を選択します。
  4. Dbghelp.dllパスをC:\Program Files (x86)\Windows Kits\10\Debuggers\x64\dbghelp.dll に変更します。
  5. Symbols パスをsrv*c:\symbols*https://msdl.microsoft.com/download/symbolsに変更し、OKを選択します。

シンボルが解決されるかどうかの例を次に示します。 シンボルが解決されない場合、スレッド 9384 の Start Address には SearchUI.exe+0x120cd0 が表示されます。ここで、 0x120cd0 (16 進数) は正符号の後の関数のオフセットです。

スレッド 9384 の開始アドレスが解決されていないことを示すスクリーンショット。

シンボルが解決されると、実際の関数名が次のように表示されます。 たとえば、 SearchUI.exe!WinMainCRTStartup:

スレッド 9384 の開始アドレスが解決されたことを示すスクリーンショット。

プロセス エクスプローラーで詳細を表示するには、列を右クリックし、[列の選択] 選択します。 次に、プロセス エクスプローラーに表示される列を選択し、 OKを選択します。

トラブルシューティングの例

CpuStres を使用して複数のスレッドを実行して CPU アクティビティをシミュレートすると、プロセス エクスプローラーのCPUSTRES.EXE プロセスが最高の CPU を消費していることがわかります。 例えば次が挙げられます。

プロセス エクスプローラーのCPUSTRES.EXE プロセスが最高の CPU を消費することを示すスクリーンショット。

CPUSTRES.EXEをダブルクリックして (またはCPUSTRES.EXEを右クリックして Properties) し、[Threads] タブに移動します。

スレッド 15080 が CPUSTRES.EXE プロパティで最も高い CPU を消費することを示すスクリーンショット。

多くのスレッドが CPU を消費しており、その中で TID 15080 が最も消費していることがわかります。 さらに多くの詳細があります。 最も消費量の多いスレッドを選択すると、呼び出し履歴情報が取得されます。

スレッド 15080 の呼び出し履歴情報を示すスクリーンショット。

呼び出し履歴情報は自動的に更新されません。 最新のスタック情報を取得するには、 Refresh を選択します。 ただし、この更新には 1 秒の最小間隔があります。 スレッドで 1 秒ごとに何が起こっているかを確認するには、Windows パフォーマンス レコーダー (WPR) または Windows パフォーマンス アナライザー (WPA) を使用します。

関連情報

デフラグ ツール: #2 - プロセス エクスプローラー