Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Stellt eine lokale Variable oder ein Argument einer Funktion dar.
Methoden
Methode | BESCHREIBUNG |
---|---|
GetArgumentIndex-Methode | Ruft den Index eines Funktionsarguments ab. |
GetCode-Methode | Ruft die „ICorDebugCode“-Instanz ab, die dieses ICorDebugVariableHome -Objekt enthält. |
GetLiveRange-Methode | Ruft den nativen Bereich ab, in dem diese Variable gültig ist. |
GetLocationType-Methode | Ruft den Typ der nativen Position der Variablen ab. |
GetOffset-Methode | Ruft den Offset aus dem Basisregister für eine Variable ab. |
GetRegister-Methode | Ruft das Register, das eine Variable mit dem Positionstyp VLT_REGISTER enthält, sowie das Basisregister für eine Variable mit dem Positionstyp VLT_REGISTER_RELATIVE ab. |
GetSlotIndex-Methode | Ruft den verwalteten Slotindex einer lokalen Variablen ab. |
Beispiel
Das folgende Codefragment verwendet das ICorDebugCode4-Objekt mit dem Namen 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;
}
}
Anforderungen
Plattformen: Informationen finden Sie unter Systemanforderungen.
Header: CorDebug.idl, CorDebug.h
Bibliothek: CorGuids.lib
.NET Framework-Versionen: Seit Version 4.6.2 verfügbar