EXE ファイルのすべてのローカル関数呼び出しをキャプチャ/記録するにはどうすればよいですか?API 監視ツールは、Windows API 関数呼び出しをキャプチャします。たとえば、ユーザーが特定のボタンをクリックしたときに、ローカル関数呼び出しをキャプチャしたいと考えています。
よろしく、
EXE ファイルのすべてのローカル関数呼び出しをキャプチャ/記録するにはどうすればよいですか?API 監視ツールは、Windows API 関数呼び出しをキャプチャします。たとえば、ユーザーが特定のボタンをクリックしたときに、ローカル関数呼び出しをキャプチャしたいと考えています。
よろしく、
API モニターが機能するのは、CPU 制御がいつプロセスから OS に渡されるかを簡単に判断できるためです。あなたが求めているのは、CPU命令ポインターが同じプロセスメモリ空間内の場所から場所へ移動するタイミングを監視することです。これを行うツールはデバッガーと呼ばれます。Windows 上のデバッガーの例には、Visual Studio、WinDbg、または NTSD が含まれます。
難易度の高い順に、次のことができます。
1) 必要なテレメトリをソース コードに追加し、実行可能ファイルを再コンパイルします。
2) ビルド シンボル (通常は PDB ファイル) がある場合は、デバッガーを接続し、関心のある関数にブレークポイント/トレースポイントを設定します。
3) ソースがない場合、タスクは実質的に #2 と同じですが、はるかに困難です。デバッガーを接続することはできますが、プログラムを自分でトレースして、必要な関数に対応するメモリ アドレスを特定し、ブレークポイントを設定する必要があります。