DkmManagedHeapWalker 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
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
- 继承
- 继承
- 属性
- 实现
属性
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() |
内容待定。 |