COR_PRF_SUSPEND_REASON 列挙型
ランタイムが中断される理由を示します。
構文
typedef enum {
COR_PRF_SUSPEND_OTHER = 0x00,
COR_PRF_SUSPEND_FOR_GC = 0x01,
COR_PRF_SUSPEND_FOR_APPDOMAIN_SHUTDOWN = 0x02,
COR_PRF_SUSPEND_FOR_CODE_PITCHING = 0x03,
COR_PRF_SUSPEND_FOR_SHUTDOWN = 0x04,
COR_PRF_SUSPEND_FOR_INPROC_DEBUGGER = 0x06,
COR_PRF_SUSPEND_FOR_GC_PREP = 0x07, COR_PRF_SUSPEND_FOR_REJIT = 8
} COR_PRF_SUSPEND_REASON;
メンバー
メンバー | 説明 |
---|---|
COR_PRF_SUSPEND_OTHER |
ランタイムは特定できない原因のため中断されています。 |
COR_PRF_SUSPEND_FOR_GC |
ランタイムはガベージ コレクション要求を処理するために中断されています。 ガベージ コレクションに関連するコールバックは、ICorProfilerCallback::RuntimeSuspendFinished と ICorProfilerCallback::RuntimeResumeStarted のコールバックの間で発生します。 |
COR_PRF_SUSPEND_FOR_APPDOMAIN_SHUTDOWN |
ランタイムは AppDomain をシャットダウンできるように中断されています。ランタイムが中断されている間、ランタイムは、シャットダウンされている AppDomain 内のスレッドを特定し、これらが再開するときに中止するように設定します。 この中断期間中は、AppDomain 固有のコールバックはありません。 |
COR_PRF_SUSPEND_FOR_CODE_PITCHING |
ランタイムはコード ピッチが発生するように中断されています。 コード ピッチは、コード ピッチが有効な状態で Just-In-Time (JIT) コンパイラがアクティブの場合にのみ発生します。 コード ピッチ コールバックは、 ICorProfilerCallback::RuntimeSuspendFinished コールバックと ICorProfilerCallback::RuntimeResumeStarted コールバックの間で発生します。 注: CLR JIT では .NET Framework バージョン 2.0 の関数のピッチを調整しないため、この値は 2.0 では使用されません。 |
COR_PRF_SUSPEND_FOR_SHUTDOWN |
ランタイムはシャットダウンできるように中断されています。 操作を完了するには、すべてのスレッドを中断する必要があります。 |
COR_PRF_SUSPEND_FOR_INPROC_DEBUGGER |
ランタイムはインプロセス デバッグのために中断されています。 |
COR_PRF_SUSPEND_FOR_GC_PREP |
ランタイムはガベージ コレクションの準備のために中断されています。 |
COR_PRF_SUSPEND_FOR_REJIT |
ランタイムは JIT 再コンパイルのために中断されています。 |
解説
アンマネージド コード内のすべてのランタイム スレッドは、ランタイムに再び入ろうとするまで実行を継続することができ、その時点になると、これらもランタイムが再開されるまで中断されます。 これは、ランタイムに入る新しいスレッドにも当てはまります。 ランタイム内のすべてのスレッドは、割り込み可能なコードに存在する場合に直ちに中断されるか、割り込み可能なコードに到達すると中断するように求められます。
必要条件
:「システム要件」を参照してください。
ヘッダー : CorProf.idl、CorProf.h
ライブラリ: CorGuids.lib
.NET Framework のバージョン: 1.0 以降で使用可能
関連項目
GitHub で Microsoft と共同作業する
このコンテンツのソースは GitHub にあります。そこで、issue や pull request を作成および確認することもできます。 詳細については、共同作成者ガイドを参照してください。
.NET