Udostępnij za pośrednictwem


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:

  1. Po wprowadzeniu nowej wartości przez użytkownika program Visual Studio wywołuje metodę SetValueAsString w obiekcie IDebugProperty2 skojarzonym z obiektem lokalnym.

  2. Metoda IDebugProperty2::SetValueAsString wykonuje następujące zadania:

    1. Oblicza ciąg w celu wygenerowania wartości.

    2. Tworzy powiązanie skojarzonego obiektu IDebugField w celu uzyskania obiektu IDebugObject .

    3. Konwertuje wartość na serię bajtów.

    4. Wywołuje metodę SetValue , aby umieścić bajty wartości w pamięci, aby debugowany program mógł uzyskać do nich dostęp.

  3. 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 zamiast IDebugProperty2 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.