Condividi tramite


Valutazione delle espressioni (Visual Studio Debugging SDK)

Durante la modalità di interruzione, l'IDE deve valutare espressioni semplici che coinvolgono diverse variabili di programma. Per eseguire la valutazione, il motore di debug (DE) deve analizzare e valutare un'espressione immessa in una delle finestre dell'IDE.

Le espressioni vengono create con il metodo IDebugExpressionContext2::P arseText e rappresentate dall'interfaccia IDebugExpression2 risultante.

L'interfaccia IDebugExpression2 viene implementata da DE e chiama il metodo EvalAsync per restituire un'interfaccia IDebugProperty2 all'IDE, per visualizzare i risultati della valutazione dell'espressione nell'IDE. IDebugProperty2::GetPropertyInfo restituisce una struttura utilizzata per inserire il valore di un'espressione in una finestra Espressione di controllo o nella finestra Variabili locali .

Il pacchetto di debug o il gestore di debug di sessione chiama IDebugExpression2::EvaluateAsync o EvaluateSync per ottenere un'interfaccia IDebugProperty2 che rappresenta il risultato della valutazione. IDebugProperty2 dispone di metodi che restituiscono il nome, il tipo e il valore dell'espressione. Queste informazioni vengono visualizzate in varie finestre del debugger.

Uso della valutazione delle espressioni

Per usare la valutazione delle espressioni, è necessario implementare il metodo IDebugExpressionContext2::P arseText e tutti i metodi dell'interfaccia IDebugExpression2 , come illustrato nella tabella seguente.

Metodo Description
EvaluateAsync Valuta un'espressione in modo asincrono.
interruzione Termina la valutazione asincrona delle espressioni.
EvaluateSync Valuta un'espressione in modo sincrono.

La valutazione sincrona e asincrona richiede l'implementazione del metodo IDebugProperty2::GetPropertyInfo . La valutazione asincrona delle espressioni richiede l'implementazione di IDebugExpressionEvaluationCompleteEvent2.

Vedere anche