次の方法で共有


Logger.exe の使用

ロガーをアクティブ化する方法の 1 つは、スタンドアロンの Logger.exe プログラムを実行することです。 これは基本的に、1 つのターゲットしか取得できない非常に小さなデバッガーです。 これを実行するには、コマンド ラインにターゲット アプリケーションの名前を含めます。

logger Target 

これをアクティブ化すると、指定されたアプリケーションが読み込まれ、ターゲット アプリケーション プロセスで Logexts.dll を読み込んで初期化するルーチンにジャンプするコードが、ターゲット アプリケーションに挿入されます。 これは、"ターゲット アプリケーションへのロガーの挿入" と呼ばれます。

Logger.exe ユーティリティと Logexts.dll モジュールは、このロガー ビークルを構成する 2 つのコンポーネントです。 どちらも、出力ファイル ハンドル、現在のカテゴリ マスク、およびログ出力バッファーへのポインターを含むメモリの共有セクションを介して通信します。

[ロガー (デバッガー)] というウィンドウが表示されます。 このウィンドウにはロガーの進行状況が表示されます。

[設定の変更] ダイアログ ボックス

初期化が終わり、初期表示が完了すると、[設定の変更] ダイアログ ボックスが表示されます。 これにより、ロガー設定を構成できます。 ここでは、さまざまな設定について説明します。

API の設定
この一覧には、使用可能な API カテゴリが表示されます。 強調表示されたカテゴリはログに記録され、強調表示されていないカテゴリはログに記録されません。 初めてロガーを実行した場合は、すべてのカテゴリが強調表示されます。 ただし、後続の実行では、ロガーは指定されたターゲット アプリケーションに対してどのカテゴリが選択されたかを追跡します。

カテゴリが無効になっている場合、そのカテゴリ内のすべての API のフックが削除されるため、パフォーマンスのオーバーヘッドはなくなります。 COM フックは自由に再度有効にすることができないため、削除されません。

特定のカテゴリのみを有効にすることは、プログラムが Windows と行っている特定の種類の対話 (ファイル操作など) にのみ関心がある場合に便利です。 これにより、ログ ファイルのサイズが小さくなり、ロガーがプロセスの実行速度に与える影響も軽減されます。

ログ
このセクションには、[有効][無効] のラジオ ボタンが含まれています。 ログを無効化すると、プログラムを自由に実行できるように、すべての API フックが削除されます。 COM フックは自由に再度有効にすることができないため、削除されません。

包含/除外一覧
このセクションでは、モジュールの包含/除外一覧を制御します。 多くの場合、特定のモジュールまたはモジュール セットから行われた関数呼び出しのみをログに記録することが望まれます。 これを容易にするために、ロガーを使用してモジュール包含一覧またはモジュール除外一覧を指定することができます。 たとえば、1 つか 2 つのモジュールからの呼び出しのみをログに記録する場合は、包含一覧を使用します。 短いモジュール一覧を除くすべてのモジュールからの呼び出しをログに記録する場合は、除外一覧を使用します。 ロガーではそれ自体をログに記録することは許可されていないため、Logexts.dll モジュールと Kernel32.dll モジュールは常に除外されます。

バッファーをフラッシュする
このボタンは、現在の出力バッファーをフラッシュします。 パフォーマンスに関する考慮事項として、ログ出力は、出力バッファーがいっぱいの場合にのみディスクにフラッシュされます。 既定では、バッファーは 2144 バイトです。

バッファー メモリは、ターゲット アプリケーションによって管理されるため、ターゲット アプリケーションにおけるアクセス違反またはその他の回復不能なエラーがある場合は、ディスク上のログ ファイルへのバッファーの自動書き込みは発生しません。 このような場合は、ターゲット アプリケーションのウィンドウをアクティブ化し、F12 キーを押してこのダイアログ ボックスを元に戻してから、[バッファーのフラッシュ] を押す必要があります。 これを行わないと、最近ログに記録された関数がログ ファイルに表示されない可能性があります。

Go
これにより、ターゲット アプリケーションの実行が開始されます。

ターゲット アプリケーションの実行

設定を選んだら、[GO] を選択します。 ダイアログ ボックスが閉じ、ターゲット アプリケーションの実行が開始されます。

ターゲット アプリケーションのウィンドウをアクティブにして F12 キーを押すと、ロガーが中断されます。 これにより、ターゲット アプリケーションがフリーズし、[設定の変更] ダイアログ ボックスが再び表示されます。 必要に応じて設定を変更し、[Go] を押すと実行を続行できます。

ターゲット アプリケーションを必要な期間にわたって実行することができます。 正常に終了した場合、またはエラーが原因で終了した場合、ログは停止し、再起動できません。

終了する場合は、[ファイル | 終了] を選択し、[はい] を選択します。 ターゲット アプリケーションがまだ実行中の場合は、終了します。

Logger.exe の制限事項

Logger.exe ツールを使用してロガーを実行している場合、出力ファイル (.lgv ファイル) が 1 つのみ作成されます。 テキスト ファイルは書き込まれなくなります。 ただし、サイズ 0 の .txt ファイルが作成されます。これにより、以前デバッガーによって書き込まれたテキスト ログが上書きされる可能性があります。

出力ファイルは常にデスクトップの LogExts サブディレクトリに配置されます。この場所は変更できません。

デバッガーと Logexts.dll を使用してロガーを実行している場合、これらの制限は適用されません。