Freigeben über


DkmMonitorStackWalkContext Klasse

Definition

DkmMonitorStackWalkContext ermöglicht die verschiedenen Komponenten DkmSymbolStackWalkContext mit dieser Aufrufliste.

public ref class DkmMonitorStackWalkContext : Microsoft::VisualStudio::Debugger::DkmDataContainer, IDisposable
[System.Runtime.InteropServices.Guid("4ce2f85d-5b40-4a4c-5eba-79e9228e48b1")]
public class DkmMonitorStackWalkContext : Microsoft.VisualStudio.Debugger.DkmDataContainer, IDisposable
[<System.Runtime.InteropServices.Guid("4ce2f85d-5b40-4a4c-5eba-79e9228e48b1")>]
type DkmMonitorStackWalkContext = class
    inherit DkmDataContainer
    interface IDisposable
Public Class DkmMonitorStackWalkContext
Inherits DkmDataContainer
Implements IDisposable
Vererbung
DkmMonitorStackWalkContext
Vererbung
DkmMonitorStackWalkContext
Attribute
Implementiert

Eigenschaften

Flags

Flags zum Steuern von Frames, die während eines Stapellaufs zurückgegeben werden.

Diese API wurde in Visual Studio 17 Update 3 (DkmApiVersion.VS17Update3) eingeführt.

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.

Thread

DkmThread stellt einen Thread dar, der im Zielprozess ausgeführt wird.

ThreadContext

[Optional] Der anfängliche Win32-KONTEXT, der beim Ausführen des Stapellaufs verwendet werden soll. Dieser Wert ist normalerweise "NULL", kann jedoch festgelegt werden, um eine andere Aufrufliste (z. B. .cxr) anzuzeigen.

UniqueId

Guid, die diesen DkmMonitorStackWalkContext eindeutig identifiziert.

Methoden

Close()

Schließt ein DkmMonitorStackWalkContext-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.

DkmMonitorStackWalkContext-Objekte werden automatisch geschlossen, wenn das zugeordnete DkmThread-Objekt geschlossen wird.

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

Standorteinschränkung: Die API muss von einer Monitor-Komponente (Komponentenebene < 100.000) aufgerufen werden.

Create(DkmRuntimeInstance, DkmThread, ReadOnlyCollection<Byte>, DkmDataItem)

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

Standorteinschränkung: Die API muss von einer Monitor-Komponente (Komponentenebene < 100.000) aufgerufen werden.

Create(DkmRuntimeInstance, DkmThread, ReadOnlyCollection<Byte>, DkmStackWalkContextFlags, DkmDataItem)

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

Standorteinschränkung: Die API muss von einer Monitor-Komponente (Komponentenebene < 100.000) aufgerufen werden.

Diese API wurde in Visual Studio 17 Update 3 (DkmApiVersion.VS17Update3) 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)
Initialize(DkmFrameRegisters, UInt32)

Initialize wird für jeden Walker genau einmal am Anfang des Gehvorgangs aufgerufen. Dies gibt jedem Wanderer die Möglichkeit, einen beliebigen Zustand zu initialisieren.

Standorteinschränkung: Die API muss von einer Monitor-Komponente (Komponentenebene < 100.000) aufgerufen werden.

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)
UpdatePosition(DkmFrameRegisters, UInt32)

UpdatePosition wird von der Stapelzusammenführung aufgerufen, nachdem ein anderer Walker einen oder mehrere Frames durchlaufen hat. Daher muss dieser Walker aktualisiert werden, bevor WalkNextFrame aufgerufen wird. Laufzeiten, die ihren eigenen internen Stapelbereichszustand innerhalb des Zielprozesses beibehalten, haben innerhalb dieser Methode wahrscheinlich nichts zu tun.

Standorteinschränkung: Die API muss von einer Monitor-Komponente (Komponentenebene < 100.000) aufgerufen werden.

WalkNextFrame()

Versuchen Sie, den nächsten Stapelrahmen zu durchlaufen. Die DkmMonitorStackWalkResult-Struktur gibt an, ob dieser Monitor den Frame durchlaufen konnte.

Standorteinschränkung: Die API muss von einer Monitor-Komponente (Komponentenebene < 100.000) aufgerufen werden.

Explizite Schnittstellenimplementierungen

IDisposable.Dispose()

DkmMonitorStackWalkContext ermöglicht die verschiedenen Komponenten DkmSymbolStackWalkContext mit dieser Aufrufliste.

Gilt für: