Visualizzare le variabili locali
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'esecuzione viene sempre eseguita all'interno del contesto di un metodo, noto anche come metodo contenitore o metodo corrente. Quando l'esecuzione viene sospesa, Visual Studio chiama il motore di debug (DE) per ottenere un elenco di variabili e argomenti locali, denominati collettivamente variabili locali del metodo. Visual Studio visualizza queste variabili locali e i relativi valori nella finestra Variabili locali .
Per visualizzare le variabili locali, de chiama il metodo GetMethodProperty appartenente al edizione Enterprise e fornisce un contesto di valutazione, ovvero un provider di simboli (SP), l'indirizzo di esecuzione corrente e un oggetto binder. Per altre informazioni, vedere Contesto di valutazione. Se la chiamata ha esito positivo, il IDebugExpressionEvaluator::GetMethodProperty
metodo restituisce un oggetto IDebugProperty2 , che rappresenta il metodo che contiene l'indirizzo di esecuzione corrente.
De chiama EnumChildren per ottenere un oggetto IEnumDebugPropertyInfo2, filtrato per restituire solo variabili locali ed enumerato per produrre un elenco di strutture DEBUG_PROPERTY_INFO. Ogni struttura contiene il nome, il tipo e il valore di un oggetto locale. Il tipo e il valore vengono archiviati come stringhe formattate, adatte per la visualizzazione. Il nome, il tipo e il valore vengono in genere visualizzati insieme in una riga della finestra Variabili locali .
Nota
Le finestre Controllo immediato e Espressione di controllo visualizzano anche le variabili con lo stesso formato di nome, valore e tipo. Tuttavia, questi valori vengono ottenuti chiamando GetPropertyInfo anziché IDebugProperty2::EnumChildren
.
In questa sezione
Contenuto correlato
Il contesto di valutazione spiega che quando il motore di debug (DE) chiama l'analizzatore di espressioni (edizione Enterprise), passa tre argomenti.