Valutazione di espressioni
Le espressioni vengono create le stringhe passate giù dalle automobili, dall'espressione di controllo, dal Controllo Immediato, o nella finestra controllo immediato. Quando un'espressione viene valutata, viene generata una stringa stampabile che contiene il nome e il tipo di variabile o argomento e il relativo valore. Questa stringa viene visualizzata nella finestra corrispondente dell'IDE.
Implementazione
Le espressioni vengono valutate quando un programma è stato interrotto a un punto di interruzione. L'espressione stessa è rappresentata da un'interfaccia di IDebugExpression2 , che rappresenta un'espressione analizzata che è pronta per associare e valutano nel contesto l'espressione di valutazione. Lo stack frame determina il contesto di valutazione di un'espressione, disponibili nel modulo di gestione di debug (DE) implementando l'interfaccia di IDebugExpressionContext2 .
Assegnato a un utente la stringa e un'interfaccia di IDebugExpressionContext2 , un motore di debug (DE) possibile ottenere un'interfaccia di IDebugExpression2 passando la stringa dell'utente al metodo di IDebugExpressionContext2:: ParseText . l'interfaccia IDebugExpression2 restituita contiene l'espressione analizzata pronta per la valutazione.
Con l'interfaccia di IDebugExpression2 , il DE possibile ottenere il valore dell'espressione con la valutazione sincrona o asincrona di espressione, utilizzando IDebugExpression2:: EvaluateSync o di IDebugExpression2:: EvaluateAsync. Questo valore, con il nome e il tipo della variabile o degli argomenti, viene inviato all'IDE per la visualizzazione. Il valore, il nome e il tipo sono rappresentati da un'interfaccia di IDebugProperty2 .
Per abilitare la valutazione di un'espressione, un DE necessario implementare le interfacce di IDebugExpressionContext2 e di IDebugExpression2 . Sia la valutazione sincrona sia asincrona richiede l'implementazione del metodo di IDebugProperty2:: GetPropertyInfo .