런타임 스레드 정보에 대한 전송 버퍼를 정의합니다.
메모
이 API는 원래 런타임에서 내부용으로 설계되었습니다. 이제 타사 사용이 지원되지만 가능하면 ICorDebug 및 ICorProfiler API로 작업하는 것이 좋습니다.
Syntax
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 |
스레드에 throw된 마지막 개체에 대한 핸들입니다. |
nextThread |
런타임 스레드 목록에 있는 다음 스레드의 주소입니다. |
Request |
를 호출 ISOSDacInterface::GetThreadData하여 구조를 채웁니다. |
Remarks
이 구조는 런타임 내에 있으며 헤더 또는 라이브러리 파일을 통해 노출되지 않습니다. 이를 사용하려면 위에서 지정한 대로 구조를 정의합니다.
요구 사항
플랫폼:시스템 요구 사항을 참조하세요.
머리글: 없음
도서관: 없음
.NET 프레임워크 버전: 4.7 이후 사용 가능
참고하십시오
GitHub에서 Microsoft와 공동 작업
이 콘텐츠의 원본은 GitHub에서 찾을 수 있으며, 여기서 문제와 끌어오기 요청을 만들고 검토할 수도 있습니다. 자세한 내용은 참여자 가이드를 참조하세요.
.NET