CreateThread 関数は、プロセスの新しいスレッドを作成します。 デバッガーは通常、スレッドのレジスタの内容を調べたり変更したりする必要があります。 これを実現するには、デバッガーは、DuplicateHandle 関数を使用し、スレッドへの適切なアクセス (THREAD_GET_CONTEXT、THREAD_SET_CONTEXT、またはその両方) を指定することによって、スレッドへのハンドルを取得する必要があります。 OpenThread 関数を使用すると、デバッガーは既存のスレッドの識別子を取得できます。
スレッドへの適切なアクセス権を持つプロセスは、GetThreadContext 関数を使用してスレッドのレジスタを調べ、SetThreadContext 関数を使用してスレッドのレジスタの内容を設定できます。
プロセスは、スレッドへのTHREAD_SUSPEND_RESUMEアクセス権を取得することもできます。 この種類のアクセスにより、デバッガーは、SuspendThread を使用してスレッドの実行を制御し、ResumeThread関数できます。 スレッドの詳細については、「プロセスとスレッドの」を参照してください。