Condividi tramite


Modificare il valore di un'istanza locale

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.

Quando un nuovo valore viene digitato nel campo valore della finestra Variabili locali, il pacchetto di debug passa la stringa, come tipizzato, all'analizzatore di espressioni (edizione Enterprise). Il edizione Enterprise valuta questa stringa, che può contenere un valore semplice o un'espressione, e archivia il valore risultante nell'oggetto locale associato.

Questa è una panoramica del processo di modifica del valore di un'istanza locale:

  1. Dopo che l'utente immette il nuovo valore, Visual Studio chiama SetValueAsString sull'oggetto IDebugProperty2 associato all'oggetto locale.

  2. IDebugProperty2::SetValueAsString esegue queste attività:

    1. Valuta la stringa per produrre un valore.

    2. Associa l'oggetto IDebugField associato per ottenere un oggetto IDebugObject.

    3. Converte il valore in una serie di byte.

    4. Chiama SetValue per inserire i byte del valore in memoria in modo che il programma sottoposto a debug possa accedervi.

  3. Visual Studio aggiorna la visualizzazione Variabili locali (vedere Visualizzazione delle variabili locali per informazioni dettagliate).

    Questa procedura viene utilizzata anche per modificare il valore di una variabile nella finestra Espressione di controllo , ad eccezione dell'oggetto IDebugProperty2 associato al valore dell'oggetto locale utilizzato invece dell'oggetto associato all'oggetto IDebugProperty2 locale stesso.

In questa sezione

L'implementazione di esempio di modifica dei valori usa l'esempio MyC edizione Enterprise per modificare i valori.