Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
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.