Sdílet prostřednictvím


DkmMonitorStackWalkContext Třída

Definice

DkmMonitorStackWalkContext umožňuje různé komponenty DkmSymbolStackWalkContext s tímto zásobníkem volání.

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
Dědičnost
DkmMonitorStackWalkContext
Dědičnost
DkmMonitorStackWalkContext
Atributy
Implementuje

Vlastnosti

Flags

Příznaky pro řízení rámců vrácených během procházení zásobníku.

Toto rozhraní API bylo představeno v sadě Visual Studio 17 Update 3 (DkmApiVersion.VS17Update3).

IsUnloaded

Vrátí hodnotu true, pokud byla pro tento objekt vyvolána událost unloaded (příklad: DkmThread::Unload je volána) nebo pokud byl objekt uzavřen. Mějte na paměti, že při kontrole tohoto stavu je potřeba střídmět, protože bez synchronizace nemusí být vrácený stav po přečtení přesný.

(Zděděno od DkmDataContainer)
RuntimeInstance

DkmRuntimeInstance Třída představuje spouštěcí prostředí, které je načteno do DkmProcess a který obsahuje kód pro ladění.

Thread

DkmThread představuje vlákno spuštěné v cílovém procesu.

ThreadContext

[Volitelné] Počáteční kontext Win32, který se má použít při provádění procházení zásobníku. Tato hodnota je obvykle null, ale je možné ji nastavit, aby se zobrazil jiný zásobník volání (např. .cxr).

UniqueId

Identifikátor GUID, který jednoznačně identifikuje tento DkmMonitorStackWalkContext.

Metody

Close()

Zavře DkmMonitorStackWalkContext instance objektu. Tím se uvolní všechny prostředky přidružené k tomuto objektu napříč všemi komponentami. To zahrnuje prostředky napříč počítači nebo hranicemi spravovaného/nativního zařazování.

DkmMonitorStackWalkContext objekty jsou automaticky zavřeny při jejich přidružené DkmThread objekt je uzavřen.

Tuto metodu může volat pouze komponenta, která objekt vytvořila.

Omezení umístění: Rozhraní API se musí volat z komponenty Monitor (úroveň < komponenty 100 000).

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

Create novou instanci objektu DkmMonitorStackWalkContext. Volající je zodpovědný za zavření vytvořeného objektu po dokončení.

Omezení umístění: Rozhraní API se musí volat z komponenty Monitor (úroveň < komponenty 100 000).

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

Create novou instanci objektu DkmMonitorStackWalkContext. Volající je zodpovědný za zavření vytvořeného objektu po dokončení.

Omezení umístění: Rozhraní API se musí volat z komponenty Monitor (úroveň < komponenty 100 000).

Toto rozhraní API bylo představeno v sadě Visual Studio 17 Update 3 (DkmApiVersion.VS17Update3).

GetDataItem<T>()

Získá instanci T, která byla přidána do této instance kontejneru. Pokud tento kontejner neobsahuje T, vrátí tato funkce hodnotu null.

(Zděděno od DkmDataContainer)
Initialize(DkmFrameRegisters, UInt32)

Inicializace je vyvolána u každého chodce přesně jednou na začátku procesu chůze. To dává každému chodci možnost inicializovat jakýkoli stav.

Omezení umístění: Rozhraní API se musí volat z komponenty Monitor (úroveň < komponenty 100 000).

RemoveDataItem<T>()

Odeberte z tohoto kontejneru instanci T. Obvykle není nutné volat tuto metodu, protože kontejner dat se při zavření objektu automaticky vyprázdní.

(Zděděno od DkmDataContainer)
SetDataItem<T>(DkmDataCreationDisposition, T)

Do kontejneru dat umístěte novou položku.

(Zděděno od DkmDataContainer)
UpdatePosition(DkmFrameRegisters, UInt32)

UpdatePosition je vyvolána sloučením zásobníku poté, co jiný walker prošel jeden nebo více snímků, a tak tento chodec musí být aktualizován před vyvoláním WalkNextFrame. Moduly runtime, které v cílovém procesu udržují svůj vlastní interní rozsah zásobníku, nebudou mít v rámci této metody pravděpodobně co dělat.

Omezení umístění: Rozhraní API se musí volat z komponenty Monitor (úroveň < komponenty 100 000).

WalkNextFrame()

Pokuste se projít další rámec zásobníku. Struktura DkmMonitorStackWalkResult označuje, jestli byl monitor schopen procházet rámec.

Omezení umístění: Rozhraní API se musí volat z komponenty Monitor (úroveň < komponenty 100 000).

Explicitní implementace rozhraní

IDisposable.Dispose()

DkmMonitorStackWalkContext umožňuje různé komponenty DkmSymbolStackWalkContext s tímto zásobníkem volání.

Platí pro