Udostępnij przez


Wyświetlanie ustawień lokalnych

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 oraz przykład ewaluatora wyrażeń zarządzanych.

Wykonywanie zawsze odbywa się w kontekście metody, znanej również jako metoda zawierająca lub bieżąca metoda. Po wstrzymaniu wykonywania program Visual Studio wywołuje silnik debugowania (DE), aby uzyskać listę zmiennych lokalnych i argumentów, zbiorczo nazywanych lokalnymi metody. Program Visual Studio wyświetla te ustawienia lokalne i ich wartości w oknie Ustawienia lokalne .

Aby wyświetlić zmienne lokalne, DE wywołuje metodę GetMethodProperty należącą do EE i nadaje jej kontekst ewaluacji, czyli dostawcę symboli (SP), bieżący adres wykonywania i obiekt binder. Aby uzyskać więcej informacji, zobacz Kontekst oceny. Jeśli wywołanie powiedzie się, IDebugExpressionEvaluator::GetMethodProperty metoda zwraca obiekt IDebugProperty2 , który reprezentuje metodę zawierającą bieżący adres wykonywania.

DE wywołuje EnumChildren, aby uzyskać obiekt IEnumDebugPropertyInfo2, który jest filtrowany w celu zwrócenia tylko zmiennych lokalnych i przetwarzany w celu utworzenia listy struktur DEBUG_PROPERTY_INFO. Każda struktura zawiera nazwę, typ i wartość zmiennej lokalnej. Typ i wartość są przechowywane jako sformatowane ciągi, odpowiednie do wyświetlania. Nazwa, typ i wartość są zwykle wyświetlane razem w jednym wierszu okna Ustawienia lokalne .

Uwaga / Notatka

Okna QuickWatch i Watch wyświetlają również zmienne o tym samym formacie nazwy, wartości i typu. Jednak te wartości są uzyskiwane przez wywołanie metody GetPropertyInfo zamiast IDebugProperty2::EnumChildren.

W tym dziale

Przykładowa implementacja ustawień lokalnych używa przykładów do przechodzenia przez proces implementowania ustawień lokalnych.