Udostępnij przez


DkmMonitorStackWalkContext Klasa

Definicja

Element DkmMonitorStackWalkContext umożliwia korzystanie z różnych składników DkmSymbolStackWalkContext z tym stosem wywołań.

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
Dziedziczenie
DkmMonitorStackWalkContext
Dziedziczenie
DkmMonitorStackWalkContext
Atrybuty
Implementuje

Właściwości

Flags

Flagi sterujące ramkami zwróconymi podczas stosu.

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

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.

Thread

Element DkmThread reprezentuje wątek uruchomiony w procesie docelowym.

ThreadContext

[Opcjonalnie] Początkowy kontekst Win32 do użycia podczas wykonywania przewodnika stosu. Ta wartość jest zwykle równa null, ale można ustawić w celu wyświetlenia innego stosu wywołań (np. cxr).

UniqueId

Guid, który jednoznacznie identyfikuje ten DkmMonitorStackWalkContext.

Metody

Close()

Zamyka wystąpienie obiektu DkmMonitorStackWalkContext. 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 DkmMonitorStackWalkContext są automatycznie zamykane po zamknięciu skojarzonego obiektu DkmThread.

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

Ograniczenie lokalizacji: interfejs API musi być wywoływany ze składnika Monitor (poziom < składnika 100 000).

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

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

Ograniczenie lokalizacji: interfejs API musi być wywoływany ze składnika Monitor (poziom < składnika 100 000).

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

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

Ograniczenie lokalizacji: interfejs API musi być wywoływany ze składnika Monitor (poziom < składnika 100 000).

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

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

Inicjowanie jest wywoływane na każdym spacerze dokładnie raz na początku procesu chodzenia. Daje to każdemu przewodnikowi szansę zainicjowania dowolnego stanu.

Ograniczenie lokalizacji: interfejs API musi być wywoływany ze składnika Monitor (poziom < składnika 100 000).

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

Funkcja UpdatePosition jest wywoływana przez połączenie stosu po tym, jak inny przewodnik przeszedł jedną lub więcej ramek, dlatego ten przewodnik musi zostać zaktualizowany przed wywołaniem elementu WalkNextFrame. Środowiska uruchomieniowe, które utrzymują swój własny stan wewnętrznego zakresu stosu w procesie docelowym, prawdopodobnie nie będą miały nic wspólnego z tą metodą.

Ograniczenie lokalizacji: interfejs API musi być wywoływany ze składnika Monitor (poziom < składnika 100 000).

WalkNextFrame()

Spróbuj przejść następną ramkę stosu. Struktura DkmMonitorStackWalkResult wskazuje, czy ten monitor był w stanie chodzić po ramce.

Ograniczenie lokalizacji: interfejs API musi być wywoływany ze składnika Monitor (poziom < składnika 100 000).

Jawne implementacje interfejsu

IDisposable.Dispose()

Element DkmMonitorStackWalkContext umożliwia korzystanie z różnych składników DkmSymbolStackWalkContext z tym stosem wywołań.

Dotyczy