Share via


DkmManagedHeapWalker 类

定义

DkmManagedHeapWalker 表示托管堆的枚举器。

此 API 是在 Visual Studio 12 RTM (DkmApiVersion.VS12RTM) 中引入的。

public ref class DkmManagedHeapWalker : Microsoft::VisualStudio::Debugger::DkmDataContainer, IDisposable
[System.Runtime.InteropServices.Guid("dca8e5e0-6bfc-1a87-5ae8-4c165856c3cb")]
public class DkmManagedHeapWalker : Microsoft.VisualStudio.Debugger.DkmDataContainer, IDisposable
[<System.Runtime.InteropServices.Guid("dca8e5e0-6bfc-1a87-5ae8-4c165856c3cb")>]
type DkmManagedHeapWalker = class
    inherit DkmDataContainer
    interface IDisposable
Public Class DkmManagedHeapWalker
Inherits DkmDataContainer
Implements IDisposable
继承
DkmManagedHeapWalker
继承
DkmManagedHeapWalker
属性
实现

属性

IsUnloaded

如果为此对象引发了“unloaded”事件,则返回 true (示例:DkmThread::Unload 被调用) 或对象已关闭。 请注意,检查此状态时必须小心,因为如果不进行同步,返回的状态在读取指令后可能不再准确。

(继承自 DkmDataContainer)
RuntimeInstance

DkmRuntimeInstance 类表示加载到 DkmProcess 中的执行环境,其中包含要调试的代码。

此 API 是在 Visual Studio 12 RTM (DkmApiVersion.VS12RTM) 中引入的。

UniqueId

唯一标识此 DkmManagedHeapWalker 的 Guid。

此 API 是在 Visual Studio 12 RTM (DkmApiVersion.VS12RTM) 中引入的。

方法

Close()

关闭 DkmManagedHeapWalker 对象实例。 这将跨所有组件释放与此对象关联的任何资源。 这包括跨计算机或托管/本机封送边界的资源。

关闭关联的 DkmRuntimeInstance 对象时,DkmManagedHeapWalker 对象会自动关闭。

此方法只能由创建对象的组件调用。

此 API 是在 Visual Studio 12 RTM (DkmApiVersion.VS12RTM) 中引入的。

Create(DkmRuntimeInstance, DkmDataItem)

Create新的 DkmManagedHeapWalker 对象实例。 调用方负责在完成后关闭已创建的对象。

此 API 是在 Visual Studio 12 RTM (DkmApiVersion.VS12RTM) 中引入的。

GetDataItem<T>()

获取已添加到此容器实例的“T”的实例。 如果此容器不包含“T”,则此函数将返回 null。

(继承自 DkmDataContainer)
GetNativeTypeId()

返回本机对象的假类型 ID。 不应传递到 ICorDebug API。

此 API 是在 Visual Studio 17 Update 7 (DkmApiVersion.VS17Update7) 中引入的。

GetPathsToRoot(DkmWorkList, UInt64, Boolean, DkmCompletionRoutine<DkmGetPathsToRootAsyncResult>)

获取指定 对象的根路径。

此方法会将新工作项追加到指定工作列表,并在追加工作项后返回。 工作项的实际处理是异步的。 将通过完成例程通知调用方请求已完成。

此 API 是在 Visual Studio 17 Update 2 (DkmApiVersion.VS17Update2) 中引入的。

GetSegments()

获取堆中段的列表。

此 API 是在 Visual Studio 12 RTM (DkmApiVersion.VS12RTM) 中引入的。

GetStringTypeId()

获取 System.String 的类型 ID。

此 API 是在 Visual Studio 17 Update 5 (DkmApiVersion.VS17Update5) 中引入的。

GetTypeNames(DkmManagedTypeId[])

获取给定类型 ID 的类型名称。

此 API 是在 Visual Studio 12 RTM (DkmApiVersion.VS12RTM) 中引入的。

InitializeHeapObjectWalk()

准备枚举器以遍历堆中的对象,如果无法枚举堆,则返回错误。

此 API 是在 Visual Studio 12 RTM (DkmApiVersion.VS12RTM) 中引入的。

InitializeHeapReferenceWalk()

准备枚举以报告堆中对象之间的引用,如果无法枚举堆,则返回错误。

此 API 是在 Visual Studio 12 RTM (DkmApiVersion.VS12RTM) 中引入的。

InitializeHeapRootsWalk()

准备枚举以报告堆中的根,如果无法枚举堆,则返回错误。

此 API 是在 Visual Studio 12 RTM (DkmApiVersion.VS12RTM) 中引入的。

NextNativeObjects(UInt32)

从内存堆枚举返回下一组模拟本机对象。

此 API 是在 Visual Studio 17 Update 7 (DkmApiVersion.VS17Update7) 中引入的。

NextObjects(UInt32)

从 枚举返回下一组 对象。

此 API 是在 Visual Studio 12 RTM (DkmApiVersion.VS12RTM) 中引入的。

NextReferences(UInt32)

返回枚举中的下一组元素。

此 API 是在 Visual Studio 12 RTM (DkmApiVersion.VS12RTM) 中引入的。

NextRoots(UInt32)

返回枚举中的下一组根。

此 API 是在 Visual Studio 12 RTM (DkmApiVersion.VS12RTM) 中引入的。

RemoveDataItem<T>()

从此容器中删除“T”的实例。 通常不需要调用此方法,因为数据容器会在对象关闭时自动清空。

(继承自 DkmDataContainer)
SetDataItem<T>(DkmDataCreationDisposition, T)

在数据容器中放置一个新项。

(继承自 DkmDataContainer)

显式接口实现

IDisposable.Dispose()

内容待定。

适用于