DacpGcHeap 詳細結構

定義一個傳輸緩衝區,以提供詳細的垃圾回收堆資訊。

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 背景綠卡狀態中保存的最低地址。
background_saved_highest_address 背景GC州保存的最高地址。
generation_table 一個包含每一代 GC 資料的 DacpGenerationData 結構 陣列。
ephemeral_heap_segment 短暫堆段的位址。
finalization_fill_pointers 一系列 finalization 填充指標。
lowest_address 堆裡最低的地址。
highest_address 堆裡最高的地址。
card_table GC卡片桌的地址。
Request 透過呼叫 ISOSDacInterface::GetGCHeapStaticData 工作站 GC 或 ISOSDacInterface::GetGCHeapDetails 伺服器 GC 來填充結構。

Remarks

此結構位於運行時間內,不會透過任何標頭或庫檔案公開。 使用時,請依上述定義結構。

要求

平台:請參閱系統需求
標題:
圖書館:
.NET Framework 版本:自 4.7 版本起可用

也請參閱