IDebugMethodField::EnumLocals
Создает перечислитель для выбранных локальных переменных метода.
Синтаксис
Параметры
pAddress
[in] Объект IDebugAddress, представляющий адрес отладки, который выбирает контекст или область, из которого нужно получить локальные параметры.
ppLocals
[out] Возвращает объект IEnumDebugFields , представляющий список локальных параметров; в противном случае возвращает значение NULL, если локальные значения отсутствуют.
Возвращаемое значение
В случае успешного выполнения возвращает S_OK или возвращает S_FALSE, если локальные параметры отсутствуют. В противном случае возвращается код ошибки.
Замечания
Перечисляются только переменные, определенные в блоке, содержащие заданный адрес отладки. Если требуются все локальные параметры, включая все созданные компилятором локальные параметры, вызовите метод EnumAllLocals .
Метод может содержать несколько контекстов области или блоков. Например, приведенный ниже метод содержит три область, два внутренних блока и сам текст метода.
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;
}
}
Объект IDebugMethodField представляет func
сам метод. EnumLocals
Вызов метода с идентификатором IDebugAddress, заданным для Inner Scope 1
адреса, возвращает перечисление, содержащее temp1
переменную, например.