Rediger

DacpOomData Structure

Defines a transport buffer for garbage collector out-of-memory information.

Note

This API was originally designed for internal use in the runtime. Although it is now supported for 3rd party use, we recommend working with ICorDebug and ICorProfiler APIs when possible.

Syntax

struct DacpOomData : ZeroInit<DacpOomData>
{
    int reason;
    ULONG64 alloc_size;
    ULONG64 available_pagefile_mb;
    ULONG64 gc_index;
    int fgm;
    ULONG64 size;
    BOOL loh_p;

    HRESULT Request(ISOSDacInterface *sos)
    {
        return sos->GetOOMStaticData(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->GetOOMData(addr, this);
    }
};

Members

Member Description
reason The out-of-memory reason code.
alloc_size The allocation size that contributed to the out-of-memory condition.
available_pagefile_mb The amount of available page file space, in megabytes.
gc_index The GC index associated with the out-of-memory condition.
fgm A value associated with full GC mechanisms for the out-of-memory condition.
size The size value associated with the out-of-memory condition.
loh_p A value that indicates whether the allocation was for the large object heap.
Request Populates the structure by calling ISOSDacInterface::GetOOMStaticData or ISOSDacInterface::GetOOMData.

Remarks

This structure lives inside the runtime and is not exposed through any headers or library files. To use it, define the structure as specified above.

Requirements

Platforms: See System Requirements.
Header: None
Library: None
.NET Framework Versions: Available since 4.7

See also