为垃圾回收器内存不足信息定义传输缓冲区。
Note
此 API 最初旨在供运行时内部使用。 尽管现在支持第三方使用,但我们建议尽量使用 ICorDebug 和 ICorProfiler API。
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
| 成员 | 说明 |
|---|---|
reason |
内存不足的原因代码。 |
alloc_size |
导致内存不足条件的分配大小。 |
available_pagefile_mb |
可用页文件空间量(以 MB 为单位)。 |
gc_index |
与内存不足条件关联的 GC 索引。 |
fgm |
与内存不足条件的完整 GC 机制关联的值。 |
size |
与内存不足条件关联的大小值。 |
loh_p |
一个值,该值指示是否为大型对象堆分配。 |
Request |
通过调用 ISOSDacInterface::GetOOMStaticData 或 ISOSDacInterface::GetOOMData. 填充结构。 |
Remarks
此结构位于运行时内,不会通过任何标头或库文件公开。 若要使用它,请定义上面指定的结构。
要求
平台:请参阅系统要求。
页眉: 没有
图书馆: 没有
.NET Framework 版本:自 4.7 起可用