DacpThreadData 구조체

런타임 스레드 정보에 대한 전송 버퍼를 정의합니다.

메모

이 API는 원래 런타임에서 내부용으로 설계되었습니다. 이제 타사 사용이 지원되지만 가능하면 ICorDebugICorProfiler 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 이후 사용 가능

참고하십시오