Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Representa una variable local o un argumento de una función.
Methods
| Método | Description |
|---|---|
| GetArgumentIndex (método) | Obtiene el índice de un argumento de función. |
| GetCode (método) | Obtiene la instancia "ICorDebugCode" que contiene este ICorDebugVariableHome objeto. |
| GetLiveRange (método) | Obtiene el intervalo nativo en el que esta variable está activa. |
| GetLocationType (método) | Obtiene el tipo de la ubicación nativa de la variable. |
| GetOffset (método) | Obtiene el desplazamiento del registro base de una variable. |
| GetRegister (método) | Obtiene el registro que contiene una variable con un tipo de ubicación de VLT_REGISTERy el registro base de una variable con un tipo de ubicación de VLT_REGISTER_RELATIVE. |
| GetSlotIndex (método) | Obtiene el índice de ranura administrada de una variable local. |
Example
El fragmento de código siguiente usa el objeto ICorDebugCode4 denominado 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;
}
}
Requisitos
Plataformas: Consulte Sistemas operativos compatibles con .NET.
Encabezado: CorDebug.idl, CorDebug.h
Biblioteca: CorGuids.lib
Versiones de .NET: Disponible desde .NET Framework 4.6.2