Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Представляет локальную переменную или аргумент функции.
Методы
| Метод | 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