IDebugMethodField::EnumLocals
Crée un énumérateur pour les variables locales sélectionnées de la méthode.
Syntaxe
Paramètres
pAddress
[in] Objet IDebugAddress représentant l’adresse de débogage qui sélectionne le contexte ou l’étendue à partir duquel obtenir les locaux.
ppLocals
[out] Renvoie un objet IEnumDebugFields représentant une liste des variables locales ; sinon, retourne une valeur Null s’il n’y a pas de local.
Valeur de retour
Si elle réussit, retourne S_OK ou retourne S_FALSE s’il n’y a pas de local. Sinon, retourne un code d'erreur.
Notes
Seules les variables définies dans le bloc qui contient l’adresse de débogage donnée sont énumérées. Si tous les locaux, y compris les locaux générés par le compilateur, sont nécessaires, appelez la méthode EnumAllLocals .
Une méthode peut contenir plusieurs contextes ou blocs d’étendue. Par exemple, la méthode contrived suivante contient trois étendues, les deux blocs internes et le corps de la méthode lui-même.
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;
}
}
L’objet IDebugMethodField représente la func
méthode elle-même. L’appel de la EnumLocals
méthode avec un IDebugAddress défini sur l’adresse Inner Scope 1
retourne une énumération contenant la temp1
variable, par exemple.