Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
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.
Jednym z podejść do szybkiego tworzenia ewaluatora wyrażeń (EE) jest najpierw zaimplementowanie minimalnego kodu niezbędnego do wyświetlania zmiennych lokalnych w oknie Ustawienia lokalne . Warto pamiętać, że każdy wiersz w oknie Ustawienia lokalne wyświetla nazwę, typ i wartość zmiennej lokalnej oraz że wszystkie trzy są reprezentowane przez obiekt IDebugProperty2 . Nazwa, typ i wartość zmiennej lokalnej jest uzyskiwana z IDebugProperty2 obiektu przez wywołanie metody GetPropertyInfo . Aby uzyskać więcej informacji na temat wyświetlania zmiennych lokalnych w oknie Ustawienia lokalne , zobacz Wyświetlanie ustawień lokalnych.
Dyskusja
Możliwa sekwencja implementacji rozpoczyna się od implementacji IDebugExpressionEvaluator. Metody Parse i GetMethodProperty należy zaimplementować w celu wyświetlania ustawień lokalnych. Wywołanie IDebugExpressionEvaluator::GetMethodProperty zwraca obiekt reprezentujący metodę IDebugProperty2 : czyli obiekt IDebugMethodField . Same metody nie są wyświetlane w oknie Ustawienia lokalne .
Następnie należy zaimplementować metodę EnumChildren . Aparat debugowania (DE) wywołuje tę metodę, aby uzyskać listę zmiennych lokalnych i argumentów, przekazując argument IDebugProperty2::EnumChildrenguidFilterguidFilterLocalsPlusArgs.
IDebugProperty2::EnumChildren wywołuje EnumArguments i EnumLocals, łącząc wyniki do jednego wyliczenia. Aby uzyskać więcej informacji, zobacz Wyświetlanie ustawień lokalnych .