Windowsアプリケーションエラーのデバッグ方法:プロセスモニターを使用する

Windows 10アプリケーションの動作が期待通りでないと感じていませんか?もしかしたら、遅すぎる、突然クラッシュする、または特定が難しい問題があるかもしれません。その問題の根本を把握するための一つの方法は、Microsoftの無料公式ユーティリティ「プロセスモニター」を使用することです。これは、Windowsアプリケーションエラーや問題を診断・デバッグするのに役立ちます。
関連記事: マルウェアのように見える11の正当なWindowsプロセス
ダウンロードとインストール
SysInternals社のプロセスモニター(ProcMon)ユーティリティは2006年から存在しており、アプリケーションの問題を診断する以外にも多くの機能があります。すべてのレジストリキー、ファイルシステムの配置、ネットワークトラフィックの可視化を提供します。
ただし、マウスポインタの動きやハードウェア関連の変更はキャプチャしません。それでも、マルウェアをキャプチャしたり、問題のあるアプリケーションを特定したり、Windows PC全体の高レベルの概要を把握したりすることが目的であれば、ProcMonは最も高度なツールです。
公式Microsoftのリンクからツールをダウンロードできます。インストールは不要ですが、.exeファイルを実行する際にSysInternalsソフトウェアライセンス条項に同意する必要があります。

プロセスモニターがWindowsシステムのすべてのイベントを読み込むのを待ちましょう。プロセスが完了するのを待つ必要はありません。実行中のプログラムは自動的に分析に含まれます。

関連記事: Windowsでの重要なプロセス終了エラーの修正方法
Windowsプロセスモニターを使用した問題診断
プログラムが詳細を読み込むと、多くの行と列があるため圧倒される可能性があります。数百万のエントリがありますが、すべてを心配する必要はありません。以下の項目に注目してください:
- プロセス名
- プロセスID(PID):4桁または5桁の番号
- ファイルパス
- 結果コード:「成功」または「名前が見つかりません」「再解析」などの他の多くのエントリ
問題のあるアプリケーションに迅速にアクセスするには、「ツール -> プロセスツリー」に移動します。

ダッシュボードには、システム内のすべてのオープンおよび実行中のアプリケーションが表示されます。「ライフタイム」列に完全な緑のブロックがある場合、通常はそのアプリケーション内に問題がないことを示します。あなたのプログラムやWindows 10システムが更新されている場合、多くのレジストリエラーやファイルの健康に関する問題は発生しません。更新に関連する問題については、「SetUpDiag」という別のユーティリティを使用できます。

問題イベントまでスクロールし、「イベントに移動」をクリックして問題をナビゲートします。次の画面で、ProcMonはTencentのQQブラウザーに関する多くの問題を診断しました。私はこちらの.exeファイルによるプロセスID(「3428」)を確認しました。
問題の原因が特定されたら、「フィルター」と呼ばれるオプションを使用する必要があります。特定のファイル実行可能ファイルに対して「含む」フィルターを追加することで、特定のアプリケーションに焦点を当てることができます。

一段階下に移動してフィルターを適用します。エントリの数に応じて、少し時間がかかる場合があります。このフィルターには何千ものエントリがありました。

「成功」や「バッファオーバーフロー」などの特定の結果を除外することもできます。これにより、アプリケーションに問題がないことを示すため、検索がさらに狭まります。

問題のあるアプリケーションの最も一般的な結果コードに焦点を当てます。結果コードの完全なリストは、ユーザーのLowell Vanderpoolがページ7から9にかけてまとめています。「名前が見つかりません」という問題が、ここでは最も一般的な問題で、何千ものエントリが記録されているため、呼び出し元が存在しないオブジェクトを開こうとしたことを示します。つまり、インストール自体に何か問題があったということです。これにより、問題の根本が診断されたことになります。

関連記事: Windows Updateエラー0x80073701の修正方法
最終トラブルシューティング
ここでは、上記のプログラムに対する最終的なトラブルシューティングを示します。アンインストールが必要な診断された問題を解決する前に、「ファイル -> 保存」からProcMonファイルを保存して、今後の問題を確認できるようにしておくと良いでしょう。

ファイルを保存することで、作成したフィルタープリセットも保存されます。デフォルト設定に戻したい場合は、「リセット」をクリックします。

ここに示すように、多くのDLLファイルが不足しているため、プログラムはアンインストールする必要があります。プログラムのアンインストールは常に簡単とは限りませんが、ProcMonには「オンラインで検索」という右クリックオプションがあります。それがアンインストール画面に移動させました。

アンインストーラーをクリックすることで、プログラムが完全に削除されました。

アンインストールの手順は核オプションですが、ファイルが不足している問題が多すぎるプログラムに対しては効果的です。

再度、同じフィルタープリセットでProcMonを開くと、TencentのQQブラウザーに関する問題はもはやキャプチャされていませんでした。

Windowsプロセスモニターを使用することで、Windowsアプリケーションのエラーを診断し、問題を解決できます。主要な問題の原因を特定するには少し練習が必要です。
Windowsによって100%のCPU使用率エラーが発生している場合は、こちらの解決策をチェックしてください。また、悪いシステム構成情報エラーの解決策もあります。