Share via


DkmManagedHeapWalker Klasse

Definition

DkmManagedHeapWalker stellt einen Enumerator für den verwalteten Heap dar.

Diese API wurde in Visual Studio 12 RTM (DkmApiVersion.VS12RTM) eingeführt.

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
Vererbung
DkmManagedHeapWalker
Vererbung
DkmManagedHeapWalker
Attribute
Implementiert

Eigenschaften

IsUnloaded

Gibt true zurück, wenn ein "unloaded"-Ereignis für dieses Objekt ausgelöst wurde (Beispiel: DkmThread::Unload wird aufgerufen) oder wenn das Objekt geschlossen wurde. Beachten Sie, dass bei der Überprüfung dieses status Vorsicht erforderlich ist, da die zurückgegebene status ohne Synchronisierung die Anweisung nach dem Lesen möglicherweise nicht mehr korrekt ist.

(Geerbt von DkmDataContainer)
RuntimeInstance

Die DkmRuntimeInstance-Klasse stellt eine Ausführungsumgebung dar, die in einen DkmProcess geladen wird und den zu debuggenden Code enthält.

Diese API wurde in Visual Studio 12 RTM (DkmApiVersion.VS12RTM) eingeführt.

UniqueId

Guid, die diesen DkmManagedHeapWalker eindeutig identifiziert.

Diese API wurde in Visual Studio 12 RTM (DkmApiVersion.VS12RTM) eingeführt.

Methoden

Close()

Schließt ein DkmManagedHeapWalker-Objekt instance. Dadurch werden alle Ressourcen freigegeben, die diesem Objekt für alle Komponenten zugeordnet sind. Dies schließt Ressourcen über Computer- oder verwaltete/native Marshallinggrenzen hinweg ein.

DkmManagedHeapWalker-Objekte werden automatisch geschlossen, wenn das zugeordnete DkmRuntimeInstance-Objekt geschlossen wird.

Diese Methode kann nur von der Komponente aufgerufen werden, die das Objekt erstellt hat.

Diese API wurde in Visual Studio 12 RTM (DkmApiVersion.VS12RTM) eingeführt.

Create(DkmRuntimeInstance, DkmDataItem)

Create ein neues DkmManagedHeapWalker-Objekt instance. Der Aufrufer ist dafür verantwortlich, das erstellte Objekt zu schließen, nachdem er fertig ist.

Diese API wurde in Visual Studio 12 RTM (DkmApiVersion.VS12RTM) eingeführt.

GetDataItem<T>()

Ruft den instance von "T" ab, der diesem Container instance hinzugefügt wurde. Wenn dieser Container kein "T" enthält, gibt diese Funktion NULL zurück.

(Geerbt von DkmDataContainer)
GetNativeTypeId()

Gibt die gefälschte Typ-ID für systemeigene Objekte zurück. Sollte nicht an ICorDebug-APIs übergeben werden.

Diese API wurde in Visual Studio 17 Update 7 (DkmApiVersion.VS17Update7) eingeführt.

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

Ruft die Pfade zum Stamm für das angegebene Objekt ab.

Diese Methode fügt ein neues Arbeitselement an die angegebene Arbeitsliste an und gibt zurück, sobald das Arbeitselement angefügt wurde. Die tatsächliche Verarbeitung des Arbeitselements erfolgt asynchron. Der Aufrufer wird benachrichtigt, dass die Anforderung durch die Vervollständigungsroutine abgeschlossen ist.

Diese API wurde in Visual Studio 17 Update 2 (DkmApiVersion.VS17Update2) eingeführt.

GetSegments()

Ruft die Liste der Segmente im Heap ab.

Diese API wurde in Visual Studio 12 RTM (DkmApiVersion.VS12RTM) eingeführt.

GetStringTypeId()

Ruft die Typ-ID für System.String ab.

Diese API wurde in Visual Studio 17 Update 5 (DkmApiVersion.VS17Update5) eingeführt.

GetTypeNames(DkmManagedTypeId[])

Ruft die Typnamen für die angegebenen Typ-IDs ab.

Diese API wurde in Visual Studio 12 RTM (DkmApiVersion.VS12RTM) eingeführt.

InitializeHeapObjectWalk()

Bereitet den Enumerator für das Durchlaufen der Objekte im Heap vor, gibt einen Fehler zurück, wenn der Heap nicht aufgezählt werden kann.

Diese API wurde in Visual Studio 12 RTM (DkmApiVersion.VS12RTM) eingeführt.

InitializeHeapReferenceWalk()

Bereitet die Enumeration für das Melden von Verweisen zwischen Objekten im Heap vor, gibt einen Fehler zurück, wenn der Heap nicht aufgezählt werden kann.

Diese API wurde in Visual Studio 12 RTM (DkmApiVersion.VS12RTM) eingeführt.

InitializeHeapRootsWalk()

Bereitet die Enumeration für das Melden von Stammstämmen im Heap vor, gibt einen Fehler zurück, wenn der Heap nicht aufgezählt werden kann.

Diese API wurde in Visual Studio 12 RTM (DkmApiVersion.VS12RTM) eingeführt.

NextNativeObjects(UInt32)

Gibt den nächsten Satz simulierter nativer Objekte aus der Speicherheapaufzählung zurück.

Diese API wurde in Visual Studio 17 Update 7 (DkmApiVersion.VS17Update7) eingeführt.

NextObjects(UInt32)

Gibt den nächsten Satz von -Objekten aus der -Enumeration zurück.

Diese API wurde in Visual Studio 12 RTM (DkmApiVersion.VS12RTM) eingeführt.

NextReferences(UInt32)

Gibt den nächsten Satz von Elementen aus der Enumeration zurück.

Diese API wurde in Visual Studio 12 RTM (DkmApiVersion.VS12RTM) eingeführt.

NextRoots(UInt32)

Gibt den nächsten Stammsatz aus der Enumeration zurück.

Diese API wurde in Visual Studio 12 RTM (DkmApiVersion.VS12RTM) eingeführt.

RemoveDataItem<T>()

Entfernen Sie die instance von "T" aus diesem Container. Es ist in der Regel nicht erforderlich, diese Methode aufzurufen, da ein Datencontainer automatisch geleert wird, wenn das Objekt geschlossen wird.

(Geerbt von DkmDataContainer)
SetDataItem<T>(DkmDataCreationDisposition, T)

Platzieren Sie ein neues Element im Datencontainer.

(Geerbt von DkmDataContainer)

Explizite Schnittstellenimplementierungen

IDisposable.Dispose()

Muss hinzugefügt werden.

Gilt für: