Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Представляет локальную переменную или аргумент функции.
Методы
| Метод | Description |
|---|---|
| Метод GetArgumentIndex | Возвращает индекс аргумента функции. |
| Метод GetCode | Возвращает экземпляр ICorDebugCode, содержащий этот ICorDebugVariableHome объект. |
| Метод GetLiveRange | Получает собственный диапазон, над которым находится эта переменная. |
| Метод GetLocationType | Возвращает тип собственного расположения переменной. |
| Метод GetOffset | Возвращает смещение из базового регистра для переменной. |
| Метод GetRegister | Возвращает регистр, содержащий переменную с типом VLT_REGISTERрасположения, и базовый регистр для переменной с типом VLT_REGISTER_RELATIVEрасположения. |
| Метод GetSlotIndex | Возвращает управляемый индекс слота локальной переменной. |
Example
В следующем фрагменте кода используется объект ICorDebugCode4 с именем pCode4.
ICorDebugCode4 *pCode4 = NULL;
pCode->QueryInterface(IID_ICorDebugCode4, &pCode4);
ICorDebugVariableEnum *pVarLocEnum = NULL;
pCode4->EnumerateVariableHomes(&pVarLocEnum);
// retrieve local variables and arguments
ULONG celt = 0;
pVarLocEnum->GetCount(&celt);
ICorDebugVariableHome **homes = new ICorDebugVariableHome *[celt];
ULONG celtFetched = 0;
pVarLocEnum->Next(celt, homes, &celtFetched);
for (int i = 0; i < celtFetched; i++)
{
VariableLocationType locType = VLT_INVALID;
homes[i].GetLocationType(&locType);
switch (locType)
{
case VLT_REGISTER:
CorDebugRegister register = 0;
locals[i].GetRegister(®ister);
// now we know which register it is in
break;
case VLT_REGISTER_RELATIVE:
CorDebugRegister baseRegister = 0;
LONG offset = 0;
locals[i].GetRegister(®ister);
locals[i].GetOffset(&offset);
// now we know the register-relative offset
break;
case VLT_INVALID:
// handle case where we can't access the location
break;
}
}
Требования
Платформ: См. сведения о поддерживаемых операционных системах .NET.
Заголовок: CorDebug.idl, CorDebug.h
Библиотека: CorGuids.lib
Версии .NET: Доступно с версии .NET Framework 4.6.2