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.
Importante
In Visual Studio 2015 questo modo di implementare gli analizzatori di espressioni è deprecato. Per informazioni sull'implementazione degli analizzatori di espressioni CLR, vedere l'esempio degli analizzatori di espressioni CLR e dell'analizzatore di espressioni gestite.
Un approccio alla creazione rapida di un analizzatore di espressioni (EE) consiste nell'implementare innanzitutto il codice minimo necessario per visualizzare le variabili locali nella finestra Variabili locali . È utile tenere presente che ogni riga nella finestra Variabili locali visualizza il nome, il tipo e il valore di una variabile locale e che tutti e tre sono rappresentati da un oggetto IDebugProperty2 . Il nome, il tipo e il valore di una variabile locale vengono ottenuti da un IDebugProperty2 oggetto chiamando il relativo metodo GetPropertyInfo . Per altre informazioni su come visualizzare le variabili locali nella finestra Variabili locali , vedere Visualizzazione delle variabili locali.
Discussione
Una possibile sequenza di implementazione inizia con l'implementazione di IDebugExpressionEvaluator. I metodi Parse e GetMethodProperty devono essere implementati per visualizzare le variabili locali. La chiamata IDebugExpressionEvaluator::GetMethodProperty restituisce un IDebugProperty2 oggetto che rappresenta un metodo, ovvero un oggetto IDebugMethodField . I metodi stessi non vengono visualizzati nella finestra Variabili locali .
Il metodo EnumChildren deve essere implementato successivamente. Il motore di debug chiama questo metodo per ottenere un elenco di variabili e argomenti locali passando IDebugProperty2::EnumChildren un guidFilter argomento di guidFilterLocalsPlusArgs.
IDebugProperty2::EnumChildren chiama EnumArguments e EnumLocals, combinando i risultati in un'unica enumerazione. Per altri dettagli, vedere Visualizzare le variabili locali .