この ICorDebugThread のデバッグ状態を記述するフラグを設定します。
構文
HRESULT SetDebugState (
[in] CorDebugThreadState state
);
パラメーター
state [in]このスレッドのデバッグ状態を指定する CorDebugThreadState 列挙値のビットごとの組み合わせ。
注釈
SetDebugState は、スレッドの現在のデバッグ状態を設定します。 ("現在のデバッグ状態" は、実際の現在の状態ではなく、プロセスを継続する場合のデバッグ状態を表します。これに対する通常の値はTHREAD_RUNです。 デバッガーのみがスレッドのデバッグ状態に影響を与えることができます。 デバッグの状態は継続して続くので、複数の継続にスレッドTHREAD_SUSPENDedを保持する場合は、1 回だけ設定できます。その後、心配する必要はありません。 スレッドを中断してプロセスを再開すると、デッドロックが発生する可能性がありますが、通常は発生しそうにありません。 これはスレッドとプロセスの本質的な品質であり、仕様です。 デバッガーは、スレッドを非同期的に中断および再開してデッドロックを中断できます。 スレッドのユーザー状態にUSER_UNSAFE_POINTが含まれている場合、スレッドはガベージ コレクション (GC) をブロックする可能性があります。 これは、中断されたスレッドがデッドロックを引き起こす可能性がはるかに高いことを意味します。 これは、既にキューに登録されているデバッグ イベントには影響しない可能性があります。 したがって、デバッガーは、スレッドを中断または再開する前に、( ICorDebugController::HasQueuedCallbacks を呼び出すことによって) イベント キュー全体をドレインする必要があります。 それ以外の場合は、既に中断されていると思われるイベントがスレッドで取得される可能性があります。
Requirements
プラットフォーム:サポートされている .NET オペレーティング システムを参照してください。
ヘッダ: CorDebug.idl、CorDebug.h
図書館: CorGuids.lib
.NET のバージョン: .NET Framework 1.0 以降で使用可能
.NET