DacpGcHeapDetails 구조체

자세한 가비지 수집 힙 정보에 대한 전송 버퍼를 정의합니다.

Note

이 API는 원래 런타임에서 내부용으로 설계되었습니다. 이제 타사 사용이 지원되지만 가능하면 ICorDebugICorProfiler API로 작업하는 것이 좋습니다.

Syntax

#define DAC_NUMBERGENERATIONS 4

struct DacpGcHeapDetails : ZeroInit<DacpGcHeapDetails>
{
    CLRDATA_ADDRESS heapAddr; // Only filled in in server mode, otherwise NULL
    CLRDATA_ADDRESS alloc_allocated;

    CLRDATA_ADDRESS mark_array;
    CLRDATA_ADDRESS current_c_gc_state;
    CLRDATA_ADDRESS next_sweep_obj;
    CLRDATA_ADDRESS saved_sweep_ephemeral_seg;
    CLRDATA_ADDRESS saved_sweep_ephemeral_start;
    CLRDATA_ADDRESS background_saved_lowest_address;
    CLRDATA_ADDRESS background_saved_highest_address;

    DacpGenerationData generation_table [DAC_NUMBERGENERATIONS]; 
    CLRDATA_ADDRESS ephemeral_heap_segment;        
    CLRDATA_ADDRESS finalization_fill_pointers [DAC_NUMBERGENERATIONS + 3];
    CLRDATA_ADDRESS lowest_address;
    CLRDATA_ADDRESS highest_address;
    CLRDATA_ADDRESS card_table;

    // Use this for workstation mode (DacpGcHeapData.bServerMode==FALSE).
    HRESULT Request(ISOSDacInterface *sos)
    {
        return sos->GetGCHeapStaticData(this);
    }

    // Use this for Server mode, as there are multiple heaps,
    // and you need to pass a heap address in addr.
    HRESULT Request(ISOSDacInterface *sos, CLRDATA_ADDRESS addr)
    {
        return sos->GetGCHeapDetails(addr, this);
    }
};

Members

회원 설명
heapAddr GC 힙의 주소입니다. 이 멤버는 서버 모드에서만 채워집니다. 그렇지 않으면 .입니다 NULL.
alloc_allocated 힙에 대한 현재 할당 포인터입니다.
mark_array 표시 배열의 주소입니다.
current_c_gc_state 현재 압축 GC 상태의 주소입니다.
next_sweep_obj 쓸어버릴 다음 개체의 주소입니다.
saved_sweep_ephemeral_seg 스윕에 대해 저장된 임시 세그먼트의 주소입니다.
saved_sweep_ephemeral_start 저장된 임시 스윕 시작의 주소입니다.
background_saved_lowest_address 백그라운드 GC 상태에 대해 저장된 가장 낮은 주소입니다.
background_saved_highest_address 백그라운드 GC 상태에 대해 저장된 가장 높은 주소입니다.
generation_table 각 GC 생성에 대한 데이터가 있는 DacpGenerationData 구조 체의 배열입니다.
ephemeral_heap_segment 임시 힙 세그먼트의 주소입니다.
finalization_fill_pointers 종료 채우기 포인터의 배열입니다.
lowest_address 힙에서 가장 낮은 주소입니다.
highest_address 힙에서 가장 높은 주소입니다.
card_table GC 카드 테이블의 주소입니다.
Request 워크스테이션 GC 또는 ISOSDacInterface::GetGCHeapDetails 서버 GC를 호출 ISOSDacInterface::GetGCHeapStaticData 하여 구조를 채웁니다.

Remarks

이 구조는 런타임 내에 있으며 헤더 또는 라이브러리 파일을 통해 노출되지 않습니다. 이를 사용하려면 위에서 지정한 대로 구조를 정의합니다.

요구 사항

플랫폼:시스템 요구 사항을 참조하세요.
머리글: 없음
도서관: 없음
.NET 프레임워크 버전: 4.7 이후 사용 가능

참고하십시오