アプリから呼ばれるAPI コールの引数・戻り値をモニター可能なフリーのツール API Monitor を紹介します。
前回は、基本的な使い方を紹介しました。今回は、API Monitor の様々な機能を紹介します。
以下のAPI Monitor の様々な機能を紹介します。
機能 | 概要 |
コールツリー | コールツリー形式でトレースの結果を表示します。 |
ブレークポイント | API にブレークポイントを張ることが可能です。 |
フィルター | 表示させる情報をフィルターできます。 |
保存 | トレース情報は保存することができます。 |
コールツリー
API トレースの結果をコールツリー形式で表示してくれます。
下図の例では、SetLastError が RtlSetLastWin32Error を呼んでいる事を表しています。
ブレークポイント
API が呼ばれた時にブレークポイントを張る事ができます。
1. “API Filter” にあるブレークポイントを張りたいAPI を右クリック → “Breakpoint” → ブレークポイントを張りたい条件にチェック をします。
ここでは、API が呼ばれた直後にブレークポイントを張る”After Call” を選択しました。
2. ブレークポイントにヒットすると、以下のようなウィンドウが表示されます。
・ “Value” の列の値は、セルをダブルクリックする事で変更可能です。
・ 右クリックし、“Decode Parameter Values” のチェックを外すと、Value の値がデコードされていない値で表示されます。
3. プログラムを再開するには、”Continue” をクリックします。
フィルター
表示させる情報をフィルターすることができます。
1. “Display” をクリックし、”Add Filter (Insert)” をクリックします。
2. 条件を選択し、”Add” をクリックします。
ここでは、SetLastError のみを表示させるために、”API Name” “is” “SetLastError” “Show” と指定しました。
3. フィルターが適用され、SetLastError のみが表示されている事がわかります。
また、”Summary” に表示されているAPI の列を右クリックしてフィルターを張る事もできます。
保存
トレース情報は保存できます。
1. “File” → “Save As” をクリックします。
2. 任意の名前を入力します。
3. トレース情報が保存できます。