GetThreadContext を利用して、現在のデバッグ レジスタの設定を表示しようとしています。どのプログラムをデバッグしても、0xCCCCCCCC が返されます。ブレークポイント ctx.Dr0 を正常に設定し、カスタム例外ハンドラでこれらのブレークをキャッチできますが、ctx.Dr0 に保存されているアドレスを表示しようとすると、常に 0xCCCCCCCC と表示されます。何故ですか?
ありがとう
CONTEXT ctx;
GetThreadContext(GetCurrentThread(),&ctx);
cout << hex << ctx.Eip << endl;
編集**
当時、自分の考えの誤りに気づいていなかったので、質問が十分ではなかったと思います。私は実際に、コンテキストを取得したいスレッド内から GetThreadContext を呼び出そうとしていました。これは明らかな理由で機能しません。代わりに、 CONTEXT ctx = {CONTEXT_FULL} が機能すると思います。最も役に立った回答は、以下の Hans Passant のコメントです。