Condividi tramite


Scrittura di un analizzatore di espressioni Common Language Runtime

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.

L'analizzatore di espressioni (edizione Enterprise) è la parte di un motore di debug (DE) che gestisce la sintassi e la semantica del linguaggio di programmazione che ha prodotto il codice sottoposto a debug. Le espressioni devono essere valutate all'interno del contesto di un linguaggio di programmazione. In alcune lingue, ad esempio, l'espressione "A+B" significa "la somma di A e B". In altri linguaggi, la stessa espressione potrebbe significare "A o B". Pertanto, è necessario scrivere un edizione Enterprise separato per ogni linguaggio di programmazione che genera il codice oggetto di cui eseguire il debug nell'IDE di Visual Studio.

Alcuni aspetti del pacchetto di debug di Visual Studio devono interpretare il codice nel contesto del linguaggio di programmazione. Ad esempio, quando l'esecuzione si interrompe in corrispondenza di un punto di interruzione, tutte le espressioni digitate dall'utente in una finestra Espressioni di controllo devono essere valutate e visualizzate. L'utente può modificare il valore di una variabile locale digitando un'espressione in una finestra Espressione di controllo o nella finestra Immediata .

In questa sezione

Common Language Runtime e valutazione delle espressioni spiega che quando si integra un linguaggio di programmazione proprietario nell'IDE di Visual Studio, scrivere un edizione Enterprise in grado di valutare le espressioni nel contesto del linguaggio proprietario consente di compilare in un linguaggio MSIL (Microsoft Intermediate Language) senza scrivere un motore di debug.

L'architettura dell'analizzatore di espressioni illustra come implementare le interfacce di edizione Enterprise necessarie e chiamare il provider di simboli Common Language Runtime (SP) e le interfacce del gestore di associazione.

Registrare un analizzatore di espressioni indica che il edizione Enterprise deve registrarsi come class factory sia con Common Language Runtime che con gli ambienti di runtime di Visual Studio.

Implementare un analizzatore di espressioni descrive come il processo di valutazione di un'espressione include il motore di debug (DE), il provider di simboli (SP), l'oggetto binder e l'analizzatore di espressioni (edizione Enterprise).

Le variabili locali di visualizzazione descrivono come, quando l'esecuzione viene sospesa, il pacchetto di debug chiama il de per ottenere un elenco di variabili e argomenti locali.

Valutare un'espressione della finestra espressioni di controllo documenta il modo in cui il pacchetto di debug di Visual Studio chiama il de per determinare il valore corrente di ogni espressione nell'elenco espressioni di controllo.

Modificare il valore di un elemento locale spiega che, modificando il valore di un oggetto locale, ogni riga della finestra Variabili locali ha un oggetto associato che fornisce il nome, il tipo e il valore corrente di un oggetto locale.

Implementare visualizzatori di tipi e visualizzatori personalizzati spiega quale interfaccia deve essere implementata da quale componente supportare visualizzatori di tipi e visualizzatori personalizzati.

Estendibilità del debugger di Visual Studio