Condividi tramite


DkmMonitorStackWalkContext Classe

Definizione

DkmMonitorStackWalkContext consente ai vari componenti DkmSymbolStackWalkContext con questo stack di chiamate.

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
Ereditarietà
DkmMonitorStackWalkContext
Ereditarietà
DkmMonitorStackWalkContext
Attributi
Implementazioni

Proprietà

Flags

Flag per controllare i fotogrammi restituiti durante una passeggiata dello stack.

Questa API è stata introdotta in Visual Studio 17 Update 3 (DkmApiVersion.VS17Update3).

IsUnloaded

Restituisce true se viene generato un evento "non caricato" per questo oggetto (ad esempio: DkmThread::Unload viene chiamato) o se l'oggetto è stato chiuso. Si noti che è necessario usare attenzione quando si controlla questo stato come, senza sincronizzazione, lo stato restituito potrebbe non essere più accurato dopo la lettura.

(Ereditato da DkmDataContainer)
RuntimeInstance

La classe DkmRuntimeInstance rappresenta un ambiente di esecuzione caricato in un DkmProcess e che contiene il codice da eseguire per il debug.

Thread

DkmThread rappresenta un thread in esecuzione nel processo di destinazione.

ThreadContext

[Facoltativo] Contesto Win32 iniziale da usare durante l'esecuzione della procedura dettagliata dello stack. Questo valore è normalmente 'null' ma può essere impostato per visualizzare un altro stack di chiamate (ad esempio: .cxr).

UniqueId

Guid che identifica in modo univoco questo DkmMonitorStackWalkContext.

Metodi

Close()

Chiude un'istanza dell'oggetto DkmMonitorStackWalkContext. Verrà rilasciata qualsiasi risorsa associata a questo oggetto in tutti i componenti. Sono incluse risorse tra i limiti di marshalling gestito o gestito/nativo.

Gli oggetti DkmMonitorStackWalkContext vengono chiusi automaticamente quando l'oggetto DkmThread associato viene chiuso.

Questo metodo può essere chiamato solo dal componente che ha creato l'oggetto.

Vincolo percorso: l'API deve essere chiamata da un componente Monitor (livello < di componente 100.000).

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

Create una nuova istanza dell'oggetto DkmMonitorStackWalkContext. Il chiamante è responsabile della chiusura dell'oggetto creato al termine.

Vincolo percorso: l'API deve essere chiamata da un componente Monitor (livello < di componente 100.000).

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

Create una nuova istanza dell'oggetto DkmMonitorStackWalkContext. Il chiamante è responsabile della chiusura dell'oggetto creato al termine.

Vincolo percorso: l'API deve essere chiamata da un componente Monitor (livello < di componente 100.000).

Questa API è stata introdotta in Visual Studio 17 Update 3 (DkmApiVersion.VS17Update3).

GetDataItem<T>()

Ottiene l'istanza di 'T' che è stata aggiunta a questa istanza del contenitore. Se questo contenitore non contiene un 'T', questa funzione restituirà Null.

(Ereditato da DkmDataContainer)
Initialize(DkmFrameRegisters, UInt32)

L'inizializzazione viene richiamata su ogni camminatore esattamente una volta all'inizio del processo di passeggiata. In questo modo ogni camminatore può inizializzare qualsiasi stato.

Vincolo percorso: l'API deve essere chiamata da un componente Monitor (livello < di componente 100.000).

RemoveDataItem<T>()

Rimuovere l'istanza di 'T' da questo contenitore. In genere non è necessario chiamare questo metodo come contenitore di dati verrà svuotato automaticamente quando l'oggetto viene chiuso.

(Ereditato da DkmDataContainer)
SetDataItem<T>(DkmDataCreationDisposition, T)

Inserire un nuovo elemento nel contenitore dati.

(Ereditato da DkmDataContainer)
UpdatePosition(DkmFrameRegisters, UInt32)

UpdatePosition viene richiamato dalla fusione dello stack dopo che un altro walker ha camminato uno o più fotogrammi e quindi questo walker deve essere aggiornato prima di richiamare WalkNextFrame. I runtime che mantengono lo stato dell'intervallo di stack interno all'interno del processo di destinazione probabilmente non avranno nulla a che fare all'interno di questo metodo.

Vincolo percorso: l'API deve essere chiamata da un componente Monitor (livello < di componente 100.000).

WalkNextFrame()

Provare a seguire il frame dello stack successivo. La struttura DkmMonitorStackWalkResult indica se questo monitoraggio è stato in grado di camminare il fotogramma.

Vincolo percorso: l'API deve essere chiamata da un componente Monitor (livello < di componente 100.000).

Implementazioni dell'interfaccia esplicita

IDisposable.Dispose()

DkmMonitorStackWalkContext consente ai vari componenti DkmSymbolStackWalkContext con questo stack di chiamate.

Si applica a