.cxr (コンテキスト レコードの表示)
.cxr コマンドは、指定したアドレスに保存されたコンテキスト レコードを表示します。 また、レジスタ コンテキストも設定します。
.cxr [Options] [Address]
パラメーター
オプション - 次のオプションを任意に組み合わせて使用できます。
/f Size
コンテキスト サイズをサイズ の値 (バイト単位) に強制的に等しくします。 これは、コンテキストが実際のターゲットと一致しない場合に便利です。たとえば、WOW64 デバッグ中に 64 ビット ターゲットで x86 コンテキストを使用する場合などです。 無効なサイズまたは一貫性のないサイズが指定されている場合は、"コンテキストを正規形式に変換できません" というエラーが表示されます。
/w
現在のコンテキストをメモリに書き込み、書き込まれた場所のアドレスを表示します。
Address - 読み取り/書き込み対象のシステム コンテキスト レコード (CONTEXT 構造体) のアドレス。 アドレスが -1 の場合、CONTEXT 構造体がダンプ ファイルから読み取られます。 これは、.ecxr と同じ動作です。 アドレス 0 はサポートされていません。 ダンプ ファイルをデバッグするときに、アドレスを省略すると、登録コンテキストがそのスレッド (ユーザー モード) またはプロセッサ (カーネル モード) の既定のコンテキストにリセットされます。
Environment
項目 | 説明 |
---|---|
モード | ユーザー モード、カーネル モード |
対象 | ライブ、クラッシュ ダンプ |
プラットフォーム | すべて |
追加情報
ユーザー モード アドレス コンテキストおよびその他のコンテキスト設定の詳細については、「コンテキストの変更」を参照してください。
解説
コンテキスト レコードからの情報を使用して、ハンドルされない例外が発生し、正確なスタック トレースが使用できないシステム停止のデバッグに役立ちます。 .cxrコマンドは、指定されたコンテキスト レコードの重要なレジスタを表示します。
また、このコマンドは、指定したコンテキスト レコードをレジスタ コンテキストとして使用するようにデバッガーに指示します。 このコマンドが実行されると、デバッガーは、このスレッドの最も重要なレジスタとスタック トレースにアクセスできるようになります。 この登録コンテキストは、ターゲットが別のレジスタ コンテキスト コマンド (.thread、.ecxr、.trapまたは .cxr) を再度実行または使用できるようになるまで保持されます。 ユーザー モードでは、現在のプロセスまたはスレッドを変更した場合もリセットされます。 詳細については、 登録コンテキスト を参照してください。
.cxr コマンドは、バグ チェック 0x1Eのデバッグによく使用されます。 詳細と例については、バグ チェックの0x1E (KMODE_EXCEPTION_NOT_HANDLED)を参照してください。
.cxr /wコマンドは、コンテキストをメモリに書き込み、格納されているアドレスを表示します。 このコンテキストにデータ ブレークポイントを適用する必要がある場合は、このアドレスを .apply_dbp (コンテキストにデータ ブレークポイントを適用) に渡すことができます。