Udostępnij za pośrednictwem


DkmManagedHeapWalker Klasa

Definicja

DkmManagedHeapWalker reprezentuje moduł wyliczający zarządzanych sterty.

Ten interfejs API został wprowadzony w programie 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
Dziedziczenie
DkmManagedHeapWalker
Dziedziczenie
DkmManagedHeapWalker
Atrybuty
Implementuje

Właściwości

IsUnloaded

Zwraca wartość true, jeśli dla tego obiektu zostało podniesione zdarzenie "unloaded" (na przykład: DkmThread::Unload jest wywoływane) lub jeśli obiekt został zamknięty. Należy pamiętać, że podczas sprawdzania tego stanu należy zachować ostrożność, ponieważ bez synchronizacji zwrócony stan może nie być już dokładny po odczytaniu instrukcji.

(Odziedziczone po DkmDataContainer)
RuntimeInstance

Klasa DkmRuntimeInstance reprezentuje środowisko wykonawcze, które jest ładowane do obiektu DkmProcess i który zawiera kod do debugowania.

Ten interfejs API został wprowadzony w programie Visual Studio 12 RTM (DkmApiVersion.VS12RTM).

UniqueId

Identyfikator GUID, który jednoznacznie identyfikuje ten DkmManagedHeapWalker.

Ten interfejs API został wprowadzony w programie Visual Studio 12 RTM (DkmApiVersion.VS12RTM).

Metody

Close()

Zamyka wystąpienie obiektu DkmManagedHeapWalker. Spowoduje to zwolnienie wszystkich zasobów skojarzonych z tym obiektem we wszystkich składnikach. Obejmuje to zasoby w granicach komputera lub zarządzanego/natywnego marshalingu.

Obiekty DkmManagedHeapWalker są automatycznie zamykane po zamknięciu skojarzonego obiektu DkmRuntimeInstance.

Ta metoda może być wywoływana tylko przez składnik, który utworzył obiekt.

Ten interfejs API został wprowadzony w programie Visual Studio 12 RTM (DkmApiVersion.VS12RTM).

Create(DkmRuntimeInstance, DkmDataItem)

Twórca nowe wystąpienie obiektu DkmManagedHeapWalker. Obiekt wywołujący jest odpowiedzialny za zamknięcie utworzonego obiektu po zakończeniu.

Ten interfejs API został wprowadzony w programie Visual Studio 12 RTM (DkmApiVersion.VS12RTM).

GetDataItem<T>()

Pobiera wystąpienie elementu "T", które zostało dodane do tego wystąpienia kontenera. Jeśli ten kontener nie zawiera wartości "T", ta funkcja zwróci wartość null.

(Odziedziczone po DkmDataContainer)
GetNativeTypeId()

Zwraca identyfikator fałszywego typu dla obiektów natywnych. Nie należy przekazywać ich do interfejsów API ICorDebug.

Ten interfejs API został wprowadzony w programie Visual Studio 17 Update 7 (DkmApiVersion.VS17Update7).

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

Pobiera ścieżki do katalogu głównego dla określonego obiektu.

Ta metoda dołączy nowy element roboczy do określonej listy roboczej i powróci po dołączeniu elementu roboczego. Rzeczywiste przetwarzanie elementu roboczego jest asynchroniczne. Obiekt wywołujący zostanie powiadomiony, że żądanie zostało ukończone przez procedurę uzupełniania.

Ten interfejs API został wprowadzony w programie Visual Studio 17 Update 2 (DkmApiVersion.VS17Update2).

GetSegments()

Pobiera listę segmentów w stercie.

Ten interfejs API został wprowadzony w programie Visual Studio 12 RTM (DkmApiVersion.VS12RTM).

GetStringTypeId()

Pobiera identyfikator typu dla elementu System.String.

Ten interfejs API został wprowadzony w programie Visual Studio 17 Update 5 (DkmApiVersion.VS17Update5).

GetTypeNames(DkmManagedTypeId[])

Pobiera nazwy typów dla danego identyfikatora typu.

Ten interfejs API został wprowadzony w programie Visual Studio 12 RTM (DkmApiVersion.VS12RTM).

InitializeHeapObjectWalk()

Przygotowuje moduł wyliczający do chodzenia obiektów w stercie, zwraca błąd, jeśli nie można wyliczyć sterty.

Ten interfejs API został wprowadzony w programie Visual Studio 12 RTM (DkmApiVersion.VS12RTM).

InitializeHeapReferenceWalk()

Przygotowuje wyliczenie do raportowania odwołań między obiektami w stercie, zwraca błąd, jeśli nie można wyliczyć sterty.

Ten interfejs API został wprowadzony w programie Visual Studio 12 RTM (DkmApiVersion.VS12RTM).

InitializeHeapRootsWalk()

Przygotowuje wyliczenie do raportowania katalogów głównych w stercie, zwraca błąd, jeśli nie można wyliczyć sterty.

Ten interfejs API został wprowadzony w programie Visual Studio 12 RTM (DkmApiVersion.VS12RTM).

NextNativeObjects(UInt32)

Zwraca następny zestaw symulowanych obiektów natywnych z wyliczenia sterty pamięci.

Ten interfejs API został wprowadzony w programie Visual Studio 17 Update 7 (DkmApiVersion.VS17Update7).

NextObjects(UInt32)

Zwraca następny zestaw obiektów z wyliczenia.

Ten interfejs API został wprowadzony w programie Visual Studio 12 RTM (DkmApiVersion.VS12RTM).

NextReferences(UInt32)

Zwraca następny zestaw elementów z wyliczenia.

Ten interfejs API został wprowadzony w programie Visual Studio 12 RTM (DkmApiVersion.VS12RTM).

NextRoots(UInt32)

Zwraca następny zestaw korzeni z wyliczenia.

Ten interfejs API został wprowadzony w programie Visual Studio 12 RTM (DkmApiVersion.VS12RTM).

RemoveDataItem<T>()

Usuń wystąpienie elementu "T" z tego kontenera. Zwykle wywołanie tej metody jest niepotrzebne, ponieważ kontener danych zostanie automatycznie opróżniony po zamknięciu obiektu.

(Odziedziczone po DkmDataContainer)
SetDataItem<T>(DkmDataCreationDisposition, T)

Umieść nowy element w kontenerze danych.

(Odziedziczone po DkmDataContainer)

Jawne implementacje interfejsu

IDisposable.Dispose()

Do dodania.

Dotyczy