IDebugMethodField::EnumLocals
Tworzy moduł wyliczający dla wybranych zmiennych lokalnych metody .
Składnia
Parametry
pAddress
[in] Obiekt IDebugAddress reprezentujący adres debugowania, który wybiera kontekst lub zakres, z którego mają być uzyskiwane ustawienia lokalne.
ppLocals
[out] Zwraca obiekt IEnumDebugFields reprezentujący listę ustawień lokalnych. W przeciwnym razie zwraca wartość null, jeśli nie ma ustawień lokalnych.
Wartość zwracana
Jeśli operacja powiedzie się, zwraca S_OK lub zwraca S_FALSE, jeśli nie ma ustawień lokalnych. W przeciwnym razie zwraca kod błędu.
Uwagi
Wyliczane są tylko zmienne zdefiniowane w bloku zawierającym dany adres debugowania. Jeśli potrzebne są wszystkie ustawienia lokalne, w tym wszystkie lokalne generowane przez kompilator, wywołaj metodę EnumAllLocals .
Metoda może zawierać wiele kontekstów lub bloków określania zakresu. Na przykład następująca metoda contrived zawiera trzy zakresy, dwa bloki wewnętrzne i samą treść metody.
public void func(int index)
{
// Method body scope
int a = 0;
if (index == 1)
{
// Inner scope 1
int temp1 = a;
}
else
{
// Inner scope 2
int temp2 = a;
}
}
Obiekt IDebugMethodField reprezentuje samą metodę func
. EnumLocals
Wywołanie metody za pomocą elementu IDebugAddress ustawionego na Inner Scope 1
adres zwraca na przykład wyliczenie zawierające zmiennątemp1
.