オブジェクト参照トレースの構成
GFlags を使用して、Windows のオブジェクト参照トレース機能の有効化、無効化、および構成を行うことができます。 オブジェクト参照トレースは、オブジェクト参照カウンターが増減するたびに、シーケンシャル スタック トレースを記録します。 このトレースは、二重逆参照、参照の失敗、オブジェクト逆参照の失敗など、オブジェクト参照エラーを検出するのに役立ちます。 この機能は、Windows Vista 以降のバージョンの Windows でのみサポートされます。 この機能の詳細については、「オブジェクト参照トレース」を参照してください。
オブジェクト参照トレースを有効にするには
[GFlags] ダイアログ ボックスで、[システム レジストリ] タブまたは [カーネル フラグ] タブを選択します。
[オブジェクト参照トレース]セクションで、[有効化] を選択します。
トレースの対象を、指定されたプール タグを持つオブジェクト、指定されたプロセスによって作成されたオブジェクト、またはその両方に制限する必要があります。
トレースの対象を、特定のプール タグを持つオブジェクトに制限するには、プール タグ名を入力します。 複数のプール タグをリストするには、セミコロン (;) を使用してプール タグを区切ります。 複数のプール タグをリストすると、指定されたプール タグのいずれかを持つオブジェクトがトレースに含まれます。 プール タグでは大文字と小文字が区別されます。 Use the !pool および !poolfind デバッガー コマンドを使用して、プール名を判別します。
たとえば、Fred;Tag1 のようになります。
トレースの対象を、特定のプロセスによって作成されたオブジェクトに制限するには、プロセスのイメージ名を入力します。 指定できるイメージ ファイル名は 1 つだけです。
プール タグとプロセスの両方を指定すると、指定されたプール タグのいずれかを持つプロセスによって作成されたオブジェクトがトレースに含まれます。
トレース オブジェクトが破棄された後もトレースを保持するには、[永続的] を選択します。
[永続的] を選択すると、オブジェクト参照トレースを無効にするか、Windows をシャットダウンまたは再起動するまで、トレースが保持されます。
[適用] または [OK] をクリックします。
次のスクリーン ショットは、[カーネル フラグ] タブで有効になっているオブジェクト参照トレースを示しています。
このトレースには、プール タグ Fred または Tag1 を持つ notepad.exe プロセスによって作成されたオブジェクトのみが含まれます。 これは実行時 (カーネル フラグ) の設定であるため、トレースは直ちに開始されます。 レジストリ設定の場合は、トレースを開始するために Windows を再起動する必要があります。
オブジェクト参照トレースを無効にするには
[GFlags] ダイアログ ボックスで、[システム レジストリ] タブまたは [カーネル フラグ] タブを選択します。オブジェクト参照トレースは、Windows Vista 以降のバージョンの Windows でのみ、後者のタブに表示されます。
[オブジェクト参照トレース] セクションで、[有効化] チェック ボックスをオフにします。