【無料ツール】Process MonitorでWindowsアプリのエラーを診断・デバッグする方法
Windows 10のアプリケーションが期待どおりに動作しないことはありませんか?動作が極端に遅い、突然クラッシュする、原因がつかみにくい問題を抱えている——そんなときは、Microsoftが公式に無料提供しているユーティリティ「Process Monitor」を活用しましょう。Windowsアプリケーションのエラーや不具合を診断し、デバッグする強力な味方になります。
ダウンロードとインストール
SysInternals製の「Process Monitor(ProcMon)」は2006年から存在する定番ユーティリティで、アプリケーションの問題診断以外にも多彩な機能を備えています。レジストリキーへのアクセス、ファイルシステムの操作、ネットワークトラフィックなど、システム内部の動きを詳細に可視化できるのが特長です。
ただし、マウスカーソルの動きやハードウェア関連の変更はキャプチャできません。それでも、マルウェアの検出、問題のあるアプリケーションの特定、Windows PC全体の状態把握を目的とするなら、ProcMonは最も高度なツールと言えます。
ツールはMicrosoftの公式サイトからダウンロードできます。インストール作業は不要で、.exeファイルの実行時にSysInternalsソフトウェアライセンス条項に同意するだけで、すぐに使い始められます。
Process Monitorを起動すると、Windowsシステム上のすべてのイベントが次々と表示されていきます。処理が完了するのを待つ必要はありません。実行中のプログラムは自動的に解析対象に含まれます。
Process Monitorによる問題の診断
プログラムが詳細情報を表示し始めると、膨大な行と列に圧倒されるかもしれません。エントリは数百万件に及ぶこともあります。しかし、すべてを気にする必要はありません。注目すべきは以下の項目だけです。
- プロセス名
- プロセスID(PID):4〜5桁の数字
- ファイルパス
- 結果コード:「SUCCESS」のほか、「NAME NOT FOUND」「REPARSE」など多数の種類
問題のあるアプリケーションにすばやくたどり着くには、「Tools(ツール)→ Process Tree(プロセスツリー)」を開きましょう。
ダッシュボードには、システムで開いている・実行中のすべてのアプリケーションが表示されます。「Life Time」列が完全な緑色のブロックになっている場合、通常はそのアプリケーションに問題がないことを示しています。プログラムとWindows 10システムが最新の状態に更新されていれば、レジストリエラーやファイルの健全性に関する問題の多くはトラブルになりません。更新関連の問題には、別のユーティリティ「SetupDiag」を利用するのも有効です。
下にスクロールして問題のイベントを見つけ、「Go to Event(イベントへ移動)」をクリックすると、該当箇所へジャンプできます。以下のスクリーンショットでは、ProcMonがTencent製「QQ Browser」の多くの問題を検出していました。.exeファイル名から、プロセスID「3428」を特定しています。
問題の原因を特定したら、次は「Filters(フィルタ)」という機能を活用します。特定の実行ファイルを右クリックして「Include」フィルタを追加すれば、そのアプリケーションだけに焦点を絞ることができます。
さらに一歩進んでフィルタを適用します。エントリ数によっては少し時間がかかることもありますが、この例では数千件のエントリが表示されました。
また、「SUCCESS」や「BUFFER OVERFLOW」など、問題を示さない結果を除外することも可能です。これにより、検索範囲はさらに絞り込まれます。
次に、問題のあるアプリケーションで最も多く現れる結果コードに注目します。結果コードの完全なリストは、ユーザーのLowell Vanderpoolさんがまとめた資料(7〜9ページ)を参照するとよいでしょう。この例では「NAME NOT FOUND」が最も多く、数千件のエントリがありました。これは、呼び出し元が存在しないオブジェクトを開こうとしたことを意味します。つまり、インストール自体に問題があったのです。これで問題の根本原因を突き止めることができました。
最終的なトラブルシューティング
ここからは、上記プログラムに対する最終的なトラブルシューティングを紹介します。診断された問題(アンインストールが必要なケース)を解決する前に、「File(ファイル)→ Save(保存)」からProcMonファイルを保存しておきましょう。後で関連する問題を見返せるので便利です。
ファイルを保存すると、作成したフィルタのプリセットも一緒に記録されます。デフォルト設定に戻したい場合は「Reset(リセット)」をクリックしてください。
この例では、多数のDLLファイルが欠落していたため、プログラムのアンインストールが必要でした。アンインストールが簡単ではないプログラムもありますが、ProcMonには右クリックで使える「Search Online(オンラインで検索)」というオプションがあります。これを活用すると、アンインストール画面にたどり着くことができました。
アンインストーラーを実行すると、プログラムは完全に削除されました。
アンインストールはいわば最終手段ですが、ファイル欠落の問題が多すぎるプログラムには非常に有効な解決策です。
同じフィルタプリセットでProcMonを再度起動すると、TencentのQQ Browserに関する問題はもう検出されなくなりました。
このように、Windows Process Monitorを使えば、Windowsアプリケーションのエラーを診断し、問題を解決できます。主要な問題の原因を特定するには、ほんの少しの練習で十分です。
なお、WindowsでCPU使用率が100%になるエラーが発生している場合は、こちらの解決策をチェックしてください。「BAD SYSTEM CONFIG INFO」エラーの解決策も別途紹介しています。
-
Windows 11/10/8/7でレジストリエラーを修正する方法【初心者向け完全ガイド】
パソコンでレジストリエラーが発生していませんか?Windowsのレジストリはシステムの中でも最も重要な部分とされており、わずかなエラーや軽微な感染が原因で、システム全体が動作しなくなることもあります。この記事では、Windowsレジストリの基本知識と、Windows 11、10、8、7におけるレジストリエラーの修正方法について詳しく解説します。 Windowsレジストリとは? レジストリとは、Microsoft Windowsオペレーティングシステム上で各種設定や構成情報を階層構造で保存するデータベースです。ハードウェアデバイス、ソフトウェアプログラム、ユーザーの環境設定、OSの構成など、シス
-
Windows 11/10で「プロセスはコード1で終了しました」エラーを修正する方法
Windowsパソコンでコマンドプロンプトを開こうとしたとき、「プロセスはコード1で終了しました(Process exited with code 1)」というエラーメッセージが表示されることがあります。このエラーが発生するとプロンプト自体が表示されず、コマンドプロンプトがまったく使用できない状態になってしまいます。この問題は、Anacondaなどのデータサイエンス向けアプリをインストールしている環境で発生することが多く、Anacondaに付属するAnaconda Promptなどが影響しているケースがあります。本記事では、このエラーを簡単かつ迅速に解決する方法を詳しく解説します。手順に沿って