Condividi tramite


IDebugProperty2

Questa interfaccia rappresenta una proprietà stack frame, una proprietà del documento di programma o un'altra proprietà. La proprietà è in genere il risultato di una valutazione dell'espressione.

Nota

Questo uso di "proprietà" non deve essere confuso con questo significato con una variabile membro di una classe, anche se un IDebugProperty2 può rappresentare tale entità.

Sintassi

IDebugProperty2 : IUnknown

Note per gli implementatori

La de implementa questa interfaccia per rappresentare un particolare tipo di valore. Ad esempio, il valore potrebbe essere un valore numerico in seguito a una valutazione dell'espressione, un contesto di memoria usato per visualizzare la memoria o un elenco di registri e i relativi valori.

Note per i chiamanti

Chiamare EvaluateSync o EvaluateAsync per ottenere questa interfaccia, che rappresenta il risultato di una valutazione. IDebugExpression2::EvaluateAsync restituisce questa interfaccia inviando un'interfaccia IDebugExpressionEvaluationCompleteEvent2 a SDM, che a sua volta chiama GetResult per recuperare la proprietà.

  • GetDebugProperty restituisce questa interfaccia per fornire il documento di script associato.

  • GetReturnValue restituisce questa interfaccia per rappresentare il valore restituito di una funzione.

  • GetDebugProperty restituisce questa interfaccia per rappresentare varie proprietà del programma, ad esempio un nome o un contesto di memoria.

  • GetDebugProperty restituisce questa interfaccia per rappresentare varie proprietà del frame dello stack, ad esempio le variabili locali.

Metodi nell'ordine Vtable

Nella tabella seguente vengono illustrati i metodi di IDebugProperty2.

metodo Descrizione
GetPropertyInfo Compila una struttura DEBUG_PROPERTY_INFO che descrive una proprietà.
SetValueAsString Imposta il valore di una proprietà da una stringa.
SetValueAsReference Imposta il valore della proprietà dal valore di un riferimento specificato.
EnumChildren Enumera gli elementi figlio di una proprietà.
GetParent Restituisce l'elemento padre di una proprietà.
GetDerivedMostProperty Restituisce la proprietà che descrive la proprietà più derivata di una proprietà.
GetMemoryBytes Restituisce i byte di memoria che compongono il valore di una proprietà.
GetMemoryContext Restituisce il contesto di memoria per un valore della proprietà.
GetSize Restituisce le dimensioni, in byte, del valore della proprietà.
GetReference Restituisce un riferimento al valore di questa proprietà.
GetExtendedInfo Restituisce le informazioni estese di una proprietà.

Osservazioni:

Una proprietà, rappresentata da un'interfaccia IDebugProperty2 , può essere considerata come un valore con un nome, un tipo e un indirizzo. In termini più generali, un IDebugProperty2 oggetto può rappresentare qualsiasi elemento con una struttura gerarchica, con nodi padre e figlio.

Una proprietà è in genere transitoria, durando solo a condizione che lo stack frame corrente, ad esempio. D'altra parte, un riferimento, rappresentato da un'interfaccia IDebugReference2 , dura finché il valore rimane in memoria.

L'IDE può usare l'interfaccia IDebugProperty2 per consentire agli utenti di esplorare e modificare le proprietà in fase di esecuzione.

Requisiti

Intestazione: msdbg.h

Spazio dei nomi: Microsoft.VisualStudio.Debugger.Interop

Assembly: Microsoft.VisualStudio.Debugger.Interop.dll

Vedi anche