IDebugMethodField::EnumLocals
Erstellt einen Enumerator für ausgewählte lokale Variablen der Methode.
Syntax
Parameter
pAddress
[in] Ein IDebugAddress -Objekt, das die Debugadresse darstellt, die den Kontext oder den Bereich auswählt, aus dem die Gebietsschemas abgerufen werden sollen.
ppLocals
[out] Gibt ein IEnumDebugFields -Objekt zurück, das eine Liste der Gebietsschemas darstellt. Andernfalls wird ein NULL-Wert zurückgegeben, wenn keine Lokalen vorhanden sind.
Rückgabewert
Bei erfolgreicher Ausführung gibt S_OK zurück oder gibt S_FALSE zurück, wenn keine Lokalen vorhanden sind. Andernfalls wird ein Fehlercode zurückgegeben.
Hinweise
Es werden nur die variablen aufgelistet, die innerhalb des Blocks definiert sind, der die angegebene Debugadresse enthält. Wenn alle Gebietsschemas einschließlich von Compiler generierten Lokalen erforderlich sind, rufen Sie die EnumAllLocals-Methode auf.
Eine Methode kann mehrere Bereichsdefinitionskontexte oder -blöcke enthalten. Die folgende contrived-Methode enthält beispielsweise drei Bereiche, die beiden inneren Blöcke und den Methodentext selbst.
public void func(int index)
{
// Method body scope
int a = 0;
if (index == 1)
{
// Inner scope 1
int temp1 = a;
}
else
{
// Inner scope 2
int temp2 = a;
}
}
Das IDebugMethodField -Objekt stellt die func
Methode selbst dar. Durch Aufrufen der EnumLocals
Methode mit einer auf die Inner Scope 1
Adresse festgelegten IDebugAddress wird beispielsweise eine Aufzählung zurückgegeben, die die temp1
Variable enthält.