DkmStackWalkContext Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
DkmStackWalkContext consente ai vari componenti che illustrano, filtrano o esaminano gli stack di chiamate per archiviare i dati privati associati a questo stack di chiamate.
public ref class DkmStackWalkContext : Microsoft::VisualStudio::Debugger::DkmDataContainer, IDisposable
[System.Runtime.InteropServices.Guid("33ebb282-734b-c2f3-66cd-c42eb8a3d490")]
public class DkmStackWalkContext : Microsoft.VisualStudio.Debugger.DkmDataContainer, IDisposable
[<System.Runtime.InteropServices.Guid("33ebb282-734b-c2f3-66cd-c42eb8a3d490")>]
type DkmStackWalkContext = class
inherit DkmDataContainer
interface IDisposable
Public Class DkmStackWalkContext
Inherits DkmDataContainer
Implements IDisposable
- Ereditarietà
- Ereditarietà
- Attributi
- Implementazioni
Proprietà
| Flags |
Flag per i fotogrammi di controllo restituiti durante una passeggiata dello stack. Questa API è stata introdotta in Visual Studio 17 Update 3 (DkmApiVersion.VS17Update3). |
| IsUnloaded |
Restituisce true se per questo oggetto è stato generato un evento 'unloaded', ad esempio DkmThread::Unload, o se l'oggetto è stato chiuso. Si noti che è necessario prestare attenzione quando si controlla questo stato come, senza sincronizzazione, lo stato restituito potrebbe non essere più accurato dopo la lettura. (Ereditato da DkmDataContainer) |
| Process |
DkmProcess rappresenta un processo di destinazione di cui viene eseguito il debug. Il debugger esegue il debug dei processi, quindi si tratta dell'unità di base del debug. Un DkmProcess può rappresentare un processo di sistema o un processo virtuale, ad esempio minidump. |
| 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 è in genere 'null', ma può essere impostato per visualizzare un altro stack di chiamate (ad esempio: .cxr). |
| TopStackPointer |
Puntatore dello stack per lo stack frame superiore. Questa API è stata introdotta in Visual Studio 15 Update 6 (DkmApiVersion.VS15Update6). |
| UniqueId |
Guid che identifica in modo univoco questo DkmStackWalkContext. |
Metodi
| Close() |
Chiude un'istanza dell'oggetto DkmStackWalkContext. Verranno rilasciate tutte le risorse associate a questo oggetto in tutti i componenti. Sono incluse le risorse tra computer o limiti di marshalling gestiti/nativi. Gli oggetti DkmStackWalkContext vengono chiusi automaticamente quando l'oggetto DkmThread associato viene chiuso. |
| Create(DkmThread, ReadOnlyCollection<Byte>, DkmDataItem) |
Create una nuova istanza dell'oggetto DkmStackWalkContext. |
| Create(DkmThread, ReadOnlyCollection<Byte>, UInt64, DkmDataItem) |
Create una nuova istanza dell'oggetto DkmStackWalkContext. Questa API è stata introdotta in Visual Studio 15 Update 6 (DkmApiVersion.VS15Update6). |
| Create(DkmThread, ReadOnlyCollection<Byte>, UInt64, DkmStackWalkContextFlags, DkmDataItem) |
Create una nuova istanza dell'oggetto DkmStackWalkContext. Questa API è stata introdotta in Visual Studio 17 Update 3 (DkmApiVersion.VS17Update3). |
| FindSymbolStackWalkContext(Guid) |
Trovare un elemento DkmSymbolStackWalkContext all'interno di questo DkmStackWalkContext. Se non è presente alcun elemento con la chiave di input specificata, FindSymbolStackWalkContext avrà esito negativo. |
| GetDataItem<T>() |
Ottiene l'istanza di 'T' aggiunta a questa istanza del contenitore. Se questo contenitore non contiene un 'T', questa funzione restituirà Null. (Ereditato da DkmDataContainer) |
| HeuristicWalkFrames(DkmFrameRegisters, UInt32, UInt64, DkmFrameRegisters, Boolean) |
Provare a esaminare un'area dello stack usando un algoritmo di procedura dettagliata dello stack euristico. Viene usato in x86 quando non sono disponibili simboli. Non è implementato su altre piattaforme perché PDATA consente di camminare di tutti i fotogrammi. |
| HeuristicWalkFrames(DkmWorkList, DkmFrameRegisters, UInt32, UInt64, DkmCompletionRoutine<DkmHeuristicWalkFramesAsyncResult>) |
Provare a esaminare un'area dello stack usando un algoritmo di procedura dettagliata dello stack euristico. Viene usato in x86 quando non sono disponibili simboli. Non è implementato su altre piattaforme perché PDATA consente di camminare di tutti i fotogrammi. Questo metodo aggiungerà un nuovo elemento di lavoro all'elenco di lavoro specificato e restituirà una volta accodato l'elemento di lavoro. L'elaborazione effettiva dell'elemento di lavoro è asincrona. Il chiamante riceverà una notifica che la richiesta viene completata tramite la routine di completamento. |
| 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) |
| RuntimeWalkNextFrames(DkmWorkList, UInt32, DkmCompletionRoutine<DkmRuntimeWalkNextFramesAsyncResult>) |
Tentare di camminare nello stack senza l'uso di simboli. Verrà chiamato in vari componenti che sanno come camminare parti dello stack (ad esempio, i frame CLR verranno illustrati dal monitoraggio di debug CLR). Un frame "non risolto" verrà lasciato per parti dello stack che non possono essere camminate senza informazioni archiviate all'interno del file di simboli. Questi fotogrammi "non risolti" non dispongono di InstructionAddress o Description. Questo metodo aggiungerà un nuovo elemento di lavoro all'elenco di lavoro specificato e restituirà una volta accodato l'elemento di lavoro. L'elaborazione effettiva dell'elemento di lavoro è asincrona. Il chiamante riceverà una notifica che la richiesta viene completata tramite la routine di completamento. |
| RuntimeWalkNextFrames(UInt32, Boolean) |
Tentare di camminare nello stack senza l'uso di simboli. Verrà chiamato in vari componenti che sanno come camminare parti dello stack (ad esempio, i frame CLR verranno illustrati dal monitoraggio di debug CLR). Un frame "non risolto" verrà lasciato per parti dello stack che non possono essere camminate senza informazioni archiviate all'interno del file di simboli. Questi fotogrammi "non risolti" non dispongono di InstructionAddress o Description. |
| RuntimeWalkNextFramesAndCheckCache(DkmWorkList, UInt32, UInt32, DkmStackHash, DkmCompletionRoutine<DkmRuntimeWalkNextFramesAndCheckCacheAsyncResult>) |
Deprecato. Non usare questo metodo, restituisce valori hash non aggiornati; usare invece IDkmMergedMonitorStackWalk164::RuntimeWalkNextFramesAndCheckCache164. Versione di RuntimeWalkNextFrames() che controlla anche se una copia memorizzata nella cache dello stack di chiamate è ancora valida. Questo metodo aggiungerà un nuovo elemento di lavoro all'elenco di lavoro specificato e restituirà una volta accodato l'elemento di lavoro. L'elaborazione effettiva dell'elemento di lavoro è asincrona. Il chiamante riceverà una notifica che la richiesta viene completata tramite la routine di completamento. |
| RuntimeWalkNextFramesAndCheckCache(UInt32, UInt32, DkmStackHash, Boolean, DkmStackHash, DkmStackWalkContext, Boolean) |
Deprecato. Non usare questo metodo, restituisce valori hash non aggiornati; usare invece IDkmMergedMonitorStackWalk164::RuntimeWalkNextFramesAndCheckCache164. Versione di RuntimeWalkNextFrames() che controlla anche se una copia memorizzata nella cache dello stack di chiamate è ancora valida. |
| RuntimeWalkNextFramesAndCheckCache164(DkmWorkList, UInt32, UInt32, DkmStackHash164, DkmCompletionRoutine<DkmRuntimeWalkNextFramesAndCheckCache164AsyncResult>) |
Versione di RuntimeWalkNextFrames() che controlla anche se una copia memorizzata nella cache dello stack di chiamate è ancora valida. Questo metodo aggiungerà un nuovo elemento di lavoro all'elenco di lavoro specificato e restituirà una volta accodato l'elemento di lavoro. L'elaborazione effettiva dell'elemento di lavoro è asincrona. Il chiamante riceverà una notifica che la richiesta viene completata tramite la routine di completamento. Questa API è stata introdotta in Visual Studio 16 Update 4 (DkmApiVersion.VS16Update4). |
| RuntimeWalkNextFramesAndCheckCache164(UInt32, UInt32, DkmStackHash164, Boolean, DkmStackHash164, DkmStackWalkContext, Boolean) |
Versione di RuntimeWalkNextFrames() che controlla anche se una copia memorizzata nella cache dello stack di chiamate è ancora valida. Questa API è stata introdotta in Visual Studio 16 Update 4 (DkmApiVersion.VS16Update4). |
| SetDataItem<T>(DkmDataCreationDisposition, T) |
Inserire un nuovo elemento nel contenitore di dati. (Ereditato da DkmDataContainer) |
Implementazioni dell'interfaccia esplicita
| IDisposable.Dispose() |
DkmStackWalkContext consente ai vari componenti che illustrano, filtrano o esaminano gli stack di chiamate per archiviare i dati privati associati a questo stack di chiamate. |