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.
Methodik
| Methode | Description |
|---|---|
| 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, über den diese Variable live ist. |
| GetLocationType-Methode | Ruft den Typ des systemeigenen Speicherorts der Variablen ab. |
| GetOffset-Methode | Ruft den Offset aus dem Basisregister für eine Variable ab. |
| GetRegister-Methode | Ruft das Register ab, das eine Variable mit einem Speicherorttyp VLT_REGISTERenthält, und das Basisregister für eine Variable mit einem Speicherorttyp von VLT_REGISTER_RELATIVE. |
| GetSlotIndex-Methode | Ruft den verwalteten Slotindex einer lokalen Variablen ab. |
Example
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: Siehe .NET unterstützte Betriebssysteme.
Kopfball: CorDebug.idl, CorDebug.h
Bibliothek: CorGuids.lib
.NET-Versionen: Verfügbar seit .NET Framework 4.6.2