ランタイム スレッド情報のトランスポート バッファーを定義します。
注
この API はもともと、ランタイムで内部使用するために設計されました。 現在はサードパーティによる使用がサポートされていますが、可能な場合は API ICorDebug および ICorProfiler を使用することをお勧めします。
構文
struct DacpThreadData : ZeroInit<DacpThreadData>
{
DWORD corThreadId;
DWORD osThreadId;
int state;
ULONG preemptiveGCDisabled;
CLRDATA_ADDRESS allocContextPtr;
CLRDATA_ADDRESS allocContextLimit;
CLRDATA_ADDRESS context;
CLRDATA_ADDRESS domain;
CLRDATA_ADDRESS pFrame;
DWORD lockCount;
CLRDATA_ADDRESS firstNestedException; // Pass this pointer to DacpNestedExceptionInfo
CLRDATA_ADDRESS teb;
CLRDATA_ADDRESS fiberData;
CLRDATA_ADDRESS lastThrownObjectHandle;
CLRDATA_ADDRESS nextThread;
HRESULT Request(ISOSDacInterface *sos, CLRDATA_ADDRESS addr)
{
return sos->GetThreadData(addr, this);
}
};
Members
| メンバー | 説明 |
|---|---|
corThreadId |
マネージド スレッド識別子。 |
osThreadId |
オペレーティング システムのスレッド識別子。 |
state |
スレッド状態フラグ。 |
preemptiveGCDisabled |
スレッドに対してプリエンプティブ ガベージ コレクションが無効かどうかを示す値。 |
allocContextPtr |
スレッドの現在の割り当てコンテキスト ポインター。 |
allocContextLimit |
スレッドの割り当てコンテキストの制限。 |
context |
スレッド コンテキストのアドレス。 |
domain |
スレッドのアプリケーション ドメインのアドレス。 |
pFrame |
現在のフレームのアドレス。 |
lockCount |
スレッドによって保持されているロックの数。 |
firstNestedException |
入れ子になった最初の例外のアドレス。 このポインターを DacpNestedExceptionInfoに渡します。 |
teb |
スレッド環境ブロックのアドレス。 |
fiberData |
ファイバー データのアドレス。 |
lastThrownObjectHandle |
スレッドでスローされた最後のオブジェクトのハンドル。 |
nextThread |
ランタイム スレッドリスト内の次のスレッドのアドレス。 |
Request |
ISOSDacInterface::GetThreadDataを呼び出して構造体を設定します。 |
注釈
この構造体はランタイム内に存在し、ヘッダーまたはライブラリ ファイルを介して公開されることはありません。 これを使用するには、上で指定した構造を定義します。
必要条件
:「システム要件」を参照してください。
ヘッダ: 何一つ
図書館: 何一つ
.NET Framework のバージョン: 4.7 以降で利用可能
こちらも参照ください
GitHub で Microsoft と共同作業する
このコンテンツのソースは GitHub にあります。そこで、issue や pull request を作成および確認することもできます。 詳細については、共同作成者ガイドを参照してください。
.NET