
パフォーマンス監視、WMI、またはその他の無料で利用できるツールを使用して、特定のプロセスが開始されたか、または開始されようとしていることを検出する方法はありますか? さらに、そのプロセスのエントリ ポイント関数に渡されるコマンド ライン パラメーターをキャプチャする方法はありますか。
プロセスがいつ開始されてすでに実行中であることを検出するだけでは、私の要件には意味がありません。Visual Studio でデバッグ セッション用に Chrome を起動していますが、(a) VS が Chrome を起動するために cmd.exe を使用するのか、それとも VS 内部のコードを使用するのか、(b) VS が Chrome に渡して統合デバッグを構成するパラメーターは何かを調べたいと思います。
または、PowerShell を使用してプロセス イメージ (.exe ファイルなど) に何らかの監視を配置し、実行のためにアクセスされたタイミングを確認する方法はありますか?
答え1
おそらく、ターゲット プロセス自体だけでなく、プロセスを開始するプロセスを監視する必要があります。
プロセスモニターSysInternals ではこれをキャプチャできるはずです。
Visual Studio プロセス (および場合によっては CMD と Chrome) をフィルターし、VS でデバッグ シーケンスをトリガーして、キャプチャされる内容を確認します。
SysInternalsのもう一つの選択肢は、プロセスエクスプローラー基本的には、各プロセスを開始した引数をキャプチャする強化版のタスク マネージャーです。VS が中間プロセスを開始して Chrome を開き、その中間プロセスが Chrome プロセスの親として実行されている場合、Process Explorer には渡された引数が表示されます。