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.
Reprezentuje zmienną lokalną lub argument funkcji.
Methods
| Metoda | Description |
|---|---|
| GetArgumentIndex, metoda | Pobiera indeks argumentu funkcji. |
| GetCode, metoda | Pobiera wystąpienie "ICorDebugCode", które zawiera ten ICorDebugVariableHome obiekt. |
| GetLiveRange, metoda | Pobiera zakres macierzysty, nad którym ta zmienna jest aktywna. |
| GetLocationType, metoda | Pobiera typ lokalizacji natywnej zmiennej. |
| GetOffset, metoda | Pobiera przesunięcie z rejestru podstawowego dla zmiennej. |
| GetRegister, metoda | Pobiera rejestr zawierający zmienną o typie VLT_REGISTERlokalizacji , a rejestr podstawowy dla zmiennej o typie VLT_REGISTER_RELATIVElokalizacji . |
| GetSlotIndex, metoda | Pobiera zarządzany indeks miejsca zmiennej lokalnej. |
Example
Poniższy fragment kodu używa obiektu ICorDebugCode4 o nazwie 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;
}
}
Requirements
Platformy: Zobacz Obsługiwane systemy operacyjne platformy .NET.
Nagłówek: CorDebug.idl, CorDebug.h
Biblioteka: CorGuids.lib
Wersje platformy .NET: Dostępne od programu .NET Framework 4.6.2