CorDebugUserState 列挙型
スレッドのユーザー状態を示します。
typedef enum CorDebugUserState {
USER_STOP_REQUESTED = 0x01,
USER_SUSPEND_REQUESTED = 0x02,
USER_BACKGROUND = 0x04,
USER_UNSTARTED = 0x08,
USER_STOPPED = 0x10,
USER_WAIT_SLEEP_JOIN = 0x20,
USER_SUSPENDED = 0x40,
USER_UNSAFE_POINT = 0x80,
} CorDebugUserState;
メンバー
値 |
説明 |
---|---|
USER_STOP_REQUESTED |
スレッドの終了が要求されています。 |
USER_SUSPEND_REQUESTED |
スレッドの中断が要求されています。 |
USER_BACKGROUND |
スレッドはバックグラウンドで実行されています。 |
USER_UNSTARTED |
スレッドは実行を開始していません。 |
USER_STOPPED |
スレッドは終了しています。 |
USER_WAIT_SLEEP_JOIN |
スレッドは、別のスレッドがタスクを終了するまで待機しています。 |
USER_SUSPENDED |
スレッドは中断しています。 |
USER_UNSAFE_POINT |
スレッドはアンセーフ ポイントにいます。 これは、スレッドが、ガベージ コレクションをブロックする可能性がある実行中のポイントにいることを意味します。 アンセーフ ポイントからデバッグ イベントがディスパッチされることがありますが、アンセーフ ポイントでスレッドを中断すると、ほとんどの場合、スレッドが再開するまでデッドロックが発生します。 セーフ ポイントとアンセーフ ポイントは、Just-In-Time (JIT) とガベージ コレクションの実装によって決まります。 |
解説
スレッドのユーザー状態は、デバッガーがチェックしたときのスレッドの状態です。 スレッドのユーザー状態は、複数のユーザー状態の組み合わせになることがあります。
スレッドのユーザー状態を取得するには、ICorDebugThread::GetUserState メソッドを使用します。
必要条件
プラットフォーム: 「.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、1.1、1.0