Condividi tramite


DkmStackFrame Classe

Definizione

DkmStackFrame rappresenta un frame nello stack di chiamate dopo il filtro e la traduzione.

public ref class DkmStackFrame : Microsoft::VisualStudio::Debugger::CallStack::DkmStackWalkFrame
[Windows::Foundation::Metadata::WebHostHidden]
public ref class DkmStackFrame : Microsoft::VisualStudio::Debugger::CallStack::DkmStackWalkFrame
[Windows::Foundation::Metadata::WebHostHidden]
class DkmStackFrame : Microsoft::VisualStudio::Debugger::CallStack::DkmStackWalkFrame
[System.Runtime.InteropServices.Guid("9e32fe11-196e-a0ec-b83c-0792427e91a2")]
public class DkmStackFrame : Microsoft.VisualStudio.Debugger.CallStack.DkmStackWalkFrame
[<System.Runtime.InteropServices.Guid("9e32fe11-196e-a0ec-b83c-0792427e91a2")>]
type DkmStackFrame = class
    inherit DkmStackWalkFrame
Public Class DkmStackFrame
Inherits DkmStackWalkFrame
Ereditarietà
DkmStackFrame
Attributi

Proprietà

AnnotatedModule

[Facoltativo] Se è presente un frame annotato, specifica un'istanza facoltativa del modulo da associare a questo frame. Se presente, l'utente sarà in grado di caricare file binari o simboli per questo modulo facendo clic con il pulsante destro del mouse su questa cornice nella finestra dello stack di chiamate. Si tratta di NULL per fotogrammi non annotati.

Questa API è stata introdotta in Visual Studio 12 RTM (DkmApiVersion.VS12RTM).

(Ereditato da DkmStackWalkFrame)
Annotations

[Facoltativo] Raccolta di annotazioni di frame di sola lettura. Questi sono definiti da un svolgitore e sono specifici di tale rimozione. Un esempio di utilizzo è il modo in cui i dati dei frame inline vengono passati dal filtro dello stack inline al formattatore.

(Ereditato da DkmStackWalkFrame)
AsyncContext

[Facoltativo] Contesto facoltativo per l'esecuzione di stack di restituzione asincroni e stack di creazione di attività.

Questa API è stata introdotta in Visual Studio 12 RTM (DkmApiVersion.VS12RTM).

(Ereditato da DkmStackWalkFrame)
BasicSymbolInfo

[Facoltativo] Contiene informazioni di base sul DkmInstructionSymbol corrispondente all'IstruzioneAddress della cornice. Per i frame nativi, questo verrà calcolato da StackProvider prima che il frame venga passato a un filtro stack.

Questo sarà sempre null per un DkmStackFrame.

Questa API è stata introdotta in Visual Studio 16 RTM (DkmApiVersion.VS16RTMPreview).

(Ereditato da DkmStackWalkFrame)
CompilerId

LanguageId/VendorId per il compilatore che ha prodotto il codice per questo frame dello stack. Se questo è sconosciuto (ad esempio, nessun simbolo caricato per questo modulo), entrambi i valori saranno Guid.Empty. In caso contrario, entrambi i valori devono essere non zero.

Connection

Rappresenta una connessione tra il monitoraggio e l'IDE. Può essere una connessione locale se il monitoraggio è in esecuzione nello stesso processo dell'IDE oppure può essere una connessione remota. Nel processo di monitoraggio è presente una sola connessione.

(Ereditato da DkmStackWalkFrame)
Data

[Facoltativo] Oggetto facoltativo da collegare a un DkmStackWalkFrame, consentendo ai componenti di associare dati privati aggiuntivi al frame.

Questa API è stata introdotta in Visual Studio 12 RTM (DkmApiVersion.VS12RTM).

(Ereditato da DkmStackWalkFrame)
Description

[Facoltativo] Descrizione del frame che verrà visualizzato nella finestra dello stack di chiamate. Questa operazione deve essere fornita per fotogrammi annotati.

(Ereditato da DkmStackWalkFrame)
Flags

Contrassegna le proprietà di un DkmStackWalkFrame.

(Ereditato da DkmStackWalkFrame)
FrameBase

Puntatore dello stack di base del frame. Questa operazione viene usata dal SDM per ordinare il frame e viene usata dalla fusione dello stack per valutare lo stato di avanzamento della procedura, quindi questo valore è necessario anche per i fotogrammi annotati. Questo valore deve essere valido solo nel caso in cui lo stack del debug sia danneggiato.

(Ereditato da DkmStackWalkFrame)
FrameName

Nome del frame dello stack. DkmStackFrame.FormatOptions determina il formato del nome della funzione.

FrameSize

Numero di byte dello stack utilizzato da questo frame. Questo valore sarà zero per fotogrammi annotati o se il valore è sconosciuto.

(Ereditato da DkmStackWalkFrame)
InstructionAddress

[Facoltativo] Istruzione di questa cornice. Questo può essere omesso per fotogrammi annotati.

(Ereditato da DkmStackWalkFrame)
IsStale

Specifica se questo frame dello stack non è aggiornato o meno dopo una modifica e continua.

Questa API è stata introdotta in Visual Studio 15 Update 6 (DkmApiVersion.VS15Update6).

ModuleInstance

[Facoltativo] Modulo contenente questo indirizzo. Gli indirizzi senza un modulo non possono avere simboli (anche per gli indirizzi personalizzati). Gli indirizzi CLR avranno sempre un modulo. Gli indirizzi nativi non avranno un modulo se la CPU passa a un indirizzo non valido (ad esempio NULL) o se la CPU esegue codice generato in modo dinamico.

(Ereditato da DkmStackWalkFrame)
Options

Raccolta di impostazioni che influiscono sul formato del provider di stack di un DkmStackFrame.

Priority

Priorità del frame a piedi dello stack. Questo viene in genere usato per fotogrammi annotati che hanno rilevato un problema.

Questa API è stata introdotta in Visual Studio 17 Update 5 (DkmApiVersion.VS17Update5).

(Ereditato da DkmStackWalkFrame)
Process

DkmProcess rappresenta un processo di destinazione in fase di debug. Il debugger esegue il debug dei processi, quindi questa è l'unità di base del debug. Un DkmProcess può rappresentare un processo di sistema o un processo virtuale, ad esempio minidump.

(Ereditato da DkmStackWalkFrame)
Registers

[Facoltativo] Registri della cornice a piedi. Questi devono essere forniti per fotogrammi non annotati.

(Ereditato da DkmStackWalkFrame)
ReturnType

[Facoltativo] Nome del tipo restituito del frame dello stack. Viene fornito solo quando è impostato DkmFrameNameFormatOptions.ReturnTypeField.

RuntimeInstance

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

(Ereditato da DkmStackWalkFrame)
SourcePosition

[Facoltativo] Percorso del codice sorgente per questo frame dello stack. Viene fornito solo quando È impostato DkmFrameNameFormatOptions.DocumentPositionField.

Thread

Thread su cui si trova questo frame dello stack.

(Ereditato da DkmStackWalkFrame)
UniqueId

Identificatore univoco per DkmStackWalkFrame. Negli scenari di debug remoto, questo può essere GUID_NULL/Guid.Empty se il frame è stato marshallato da un debugger IDE/remoto precedente.

Questa API è stata introdotta in Visual Studio 16 Update 10 (DkmApiVersion.VS16Update10).

(Ereditato da DkmStackWalkFrame)

Metodi

CanSetNextStatement(DkmInstructionAddress)

CanSetNextStatement determina se è possibile spostare l'IP di un frame dello stack. La cornice dello stack è sempre la cornice dello stack foglia su un determinato thread. Questa API può essere implementata solo all'interno del processo del motore. Il parametro Result out deve essere S_OK o il valore di un HRESULT non riuscito che l'interfaccia utente può eseguire il mapping a un messaggio di errore.

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

(Ereditato da DkmStackWalkFrame)
ComputeUserStatus(DkmInspectionSession, Boolean)

Determina se un frame è codice utente.

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

Questa API è stata introdotta in Visual Studio 12 RTM (DkmApiVersion.VS12RTM).

(Ereditato da DkmStackWalkFrame)
Create(DkmStackWalkFrame, DkmFrameFormatOptions, DkmCompilerId, String, String, DkmSourcePosition)

Create una nuova istanza dell'oggetto DkmStackFrame.

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

Create(DkmStackWalkFrame, DkmFrameFormatOptions, DkmCompilerId, String, String, DkmSourcePosition, Boolean)

Create una nuova istanza dell'oggetto DkmStackFrame.

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

Questa API è stata introdotta in Visual Studio 15 Update 6 (DkmApiVersion.VS15Update6).

ExtractFromAD7Object(IDebugStackFrame2)

Ottiene un DkmStackFrame da un oggetto frame dello stack AD7. Questa API viene usata dai pacchetti di Visual Studio o dai componenti aggiuntivi che desiderano accedere all'API Concord per ottenere informazioni più dettagliate sul processo di debug. Questa API funzionerà correttamente dal thread principale di Visual Studio.

ExtractFromDTEObject(StackFrame)

Ottiene un DkmStackFrame da un oggetto frame dello stack DTE (debugger automation). Questa API viene usata dai pacchetti di Visual Studio o dai componenti aggiuntivi che desiderano accedere all'API Concord per ottenere informazioni più dettagliate sul processo di debug. L'oggetto di automazione viene spesso ottenuto dall'evento di automazione "OnContextChanged" o dalla proprietà Debugger.CurrentStackFrame. Questa API funzionerà correttamente dal thread principale di Visual Studio.

Format(DkmInspectionSession, DkmFrameFormatOptions)

Formattare un DkmStackWalkFrame in un DkmStackFrame. La formattazione di un frame è un passaggio del provider di stack durante GetNextFrames. Questo metodo può essere usato per formattare un frame in modo diverso rispetto a quello originariamente eseguito dal provider di stack in GetNextFrames.

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

(Ereditato da DkmStackWalkFrame)
GetClrGenericParameters()

Ottiene i parametri generici per il frame dello stack corrente come elenco di nomi qualificati dell'assembly.

Questa API è stata introdotta in Visual Studio 14 RTM (DkmApiVersion.VS14RTM).

(Ereditato da DkmStackWalkFrame)
GetClrGenericParameters(DkmWorkList, DkmCompletionRoutine<DkmGetClrGenericParametersAsyncResult>)

Ottiene i parametri generici per il frame dello stack corrente come elenco di nomi qualificati dell'assembly.

Questo metodo aggiungerà un nuovo elemento di lavoro all'elenco di lavoro specificato e restituirà una volta aggiunto 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 14 RTM (DkmApiVersion.VS14RTM).

(Ereditato da DkmStackWalkFrame)
GetEffectiveAddresses(DkmInstructionAddress)

Metodo che calcola e restituisce gli indirizzi effettivi per l'indirizzo richiesto. L'indirizzo effettivo è l'indirizzo calcolato rappresentato da un operando di istruzione. Ad esempio, in x86, un'istruzione può essere della maschera dwordptr [esp-12]. L'indirizzo effettivo di questo operando sarà il risultato della sottrazione di 12 da esp. Il numero di operandi e indirizzi effettivi sono specifici dell'architettura.

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

GetInspectionInterface(DkmInspectionSession, Guid)

GetInspectionInterface viene usato per ottenere un ICorDebugFrame o altre interfacce specifiche dell'implementazione che un componente può usare per esaminare in modo approfondito il frame dello stack.

L'interfaccia restituita può essere usata SOLO per controllare il processo di destinazione e non deve mai essere usata per controllare l'esecuzione (nessun passaggio, nessun punto di interruzione, nessuna continuazione e così via). In questo modo non è supportato e comporterà un comportamento non definito. NOTA: l'uso di questo metodo dal codice gestito non è consigliato per motivi di prestazioni. Il marshalling di DkmStackWalkFrame tra codice nativo e gestito è costoso. Usare invece DkmRuntimeInstance.GetFrameInspectionInterface.

Vincolo percorso: questa API deve essere chiamata dallo stesso processo in cui il runtime di destinazione implementa la procedura dettagliata dello stack o dove vengono caricati i simboli. Per il debug gestito, ciò significa che quando si esegue il debug di processi remoti o a 64 bit, questa API deve essere chiamata da un componente di monitoraggio di debug.

(Ereditato da DkmStackWalkFrame)
GetInstructionSymbol()

Restituire un DkmInstructionSymbol per un frame dello stack. Se il frame dello stack non ha alcun indirizzo di istruzione (frame annotato) o l'indirizzo di istruzione non ha associato DkmModule, GetInstructionSymbol restituirà null (S_FALSE nel codice nativo).

(Ereditato da DkmStackWalkFrame)
GetProperty(ICorDebugValue, String)

Valuta una proprietà nell'oggetto ICorDebugValue specificato. Il tipo del valore deve essere caricato dal DkmClrAppDomain del DkmStackWalkFrame in cui viene chiamato questo $Name$.

Vincolo location: deve trovarsi sul lato remoto perché si passa un valore ICorDebugHandleValue.

Questa API è stata introdotta in Visual Studio 15 Update 3 (DkmApiVersion.VS15Update3).

(Ereditato da DkmStackWalkFrame)
GetUnwindAddress(DkmInstructionAddress)

Restituisce l'indirizzo che rappresenta la posizione se un'eccezione deve essere intercettata in questo frame.

(Ereditato da DkmStackWalkFrame)
InterceptCurrentException(DkmExceptionInterceptActionFlags, UInt64)

IntercettaCurrentException viene usato per rimuovere questo frame come se fosse presente un gestore di eccezioni in quel frame.

(Ereditato da DkmStackWalkFrame)
OnSetNextStatementCompleted(DkmInstructionAddress)

OnSetNextStatementCompleted è un metodo per utilizzo generico per consentire ai componenti di cancellare lo stato dopo il completamento di un'istruzione successiva impostata. DkmStackWalkFrame sarà il frame precedente alla chiamata SetNextStatement.

Vincolo percorso: questa API deve essere in genere chiamata solo dai componenti lato client. Tuttavia, è sicuro che un componente lato monitoraggio chiami questa API se l'istruzione successiva impostata viene chiamata da un gestore eventi.

(Ereditato da DkmStackWalkFrame)
SetNextStatement(DkmInstructionAddress)

SetNextStatement sposta l'IP di un frame dello stack. La cornice dello stack è sempre la cornice dello stack foglia su un determinato thread.

(Ereditato da DkmStackWalkFrame)

Si applica a