次の方法で共有


ICorDebugProcess::SetThreadContext メソッド

このプロセス内の特定のスレッドのコンテキストを設定します。

HRESULT SetThreadContext(
    [in] DWORD threadID,
    [in] ULONG32 contextSize,
    [in, length_is(contextSize), size_is(contextSize)]
    BYTE context[]);

パラメーター

  • threadID
    [入力] コンテキストを設定するスレッドの ID。

  • contextSize
    [入力] context 配列のサイズ。

  • context
    [入力] スレッドのコンテキストを記述するバイトの配列。

    コンテキストは、スレッドが実行しているプロセッサのアーキテクチャを指定します。

解説

デバッガーは、Win32 SetThreadContext 関数ではなくこのメソッドを呼び出す必要があります。これは、スレッドが実際には "ハイジャック" 状態 (スレッドのコンテキストが一時的に変更された状態) の可能性があるためです。 このメソッドは、スレッドがネイティブ コード内にある場合のみ使用します。 マネージ コード内のスレッドには、ICorDebugRegisterSet を使用します。 帯域外 (OOB: Out-Of-Band) デバッグ イベント中は、スレッドのコンテキストを変更する必要はありません。

渡されるデータは、現在のプラットフォームのコンテキスト構造体である必要があります。

このメソッドを誤って使用すると、ランタイムが破損する可能性があります。

必要条件

プラットフォーム: 「.NET Framework システム要件」を参照

ヘッダー: CorDebug.idl、CorDebug.h

ライブラリ: CorGuids.lib

.NET Framework のバージョン: 4、3.5 SP1、3.5、3.0 SP1、3.0、2.0 SP1、2.0

参照

参照

ICorDebugProcess インターフェイス

ICorDebugProcess2 インターフェイス