Zmienianie wartości lokalnej
Ważne
W programie Visual Studio 2015 ten sposób implementowania ewaluatorów wyrażeń jest przestarzały. Aby uzyskać informacje na temat implementowania ewaluatorów wyrażeń CLR, zobacz ewaluatory wyrażeń CLR i przykład ewaluatora wyrażeń zarządzanych.
Gdy nowa wartość jest wpisywana w polu wartości okna Ustawienia lokalne , pakiet debugowania przekazuje ciąg, zgodnie z typem, do ewaluatora wyrażeń (EE). EE oblicza ten ciąg, który może zawierać prostą wartość lub wyrażenie, i przechowuje wynikową wartość w skojarzonym środowisku lokalnym.
Jest to omówienie procesu zmiany wartości lokalnej:
Po wprowadzeniu nowej wartości przez użytkownika program Visual Studio wywołuje metodę SetValueAsString w obiekcie IDebugProperty2 skojarzonym z obiektem lokalnym.
Metoda
IDebugProperty2::SetValueAsString
wykonuje następujące zadania:Oblicza ciąg w celu wygenerowania wartości.
Tworzy powiązanie skojarzonego obiektu IDebugField w celu uzyskania obiektu IDebugObject .
Konwertuje wartość na serię bajtów.
Wywołuje metodę SetValue , aby umieścić bajty wartości w pamięci, aby debugowany program mógł uzyskać do nich dostęp.
Program Visual Studio odświeża ekran Ustawienia lokalne (zobacz Wyświetlanie ustawień lokalnych , aby uzyskać szczegółowe informacje).
Ta procedura służy również do zmiany wartości zmiennej w oknie Obserwowanie , z wyjątkiem obiektu skojarzonego z wartością lokalną, która jest
IDebugProperty2
używana zamiastIDebugProperty2
obiektu skojarzonego z samym obiektem lokalnym.
W tym obszarze
Przykładowa implementacja zmian wartości używa przykładu MyCEE, aby przejść przez proces zmieniania wartości.