Partager via


IDebugMethodField : : EnumLocals

Crée un énumérateur pour les variables locales sélectionnées de la méthode.

HRESULT EnumLocals( 
   IDebugAddress*     pAddress,
   IEnumDebugFields** ppLocals
);
int EnumLocals(
   IDebugAddress        pAddress, 
   out IEnumDebugFields ppLocals
);

Paramètres

  • pAddress
    [in] Un objet d' IDebugAddress représentant l'adresse de débogage qui sélectionne le contexte ou la portée dont pour obtenir les données locales.

  • ppLocals
    [out] Retourne un objet d' IEnumDebugFields représentant une liste des variables locales ; sinon, retourne une valeur NULL s'il n'y a aucun local.

Valeur de retour

En cas de réussite, retourne S_OK ou retourne S_FALSE s'il n'y a aucun local. Sinon, retourne un code d'erreur.

Notes

Seuls les variables définies dans le bloc qui contient l'adresse donnée de débogage sont énumérées. Si toutes les heures locales notamment des variables locales générés par le compilateur sont nécessaires, appelez la méthode d' IDebugMethodField : : EnumAllLocals .

Une méthode peut contenir plusieurs contextes ou blocs de portée. par exemple, la méthode conçue suivante contient trois portées, les deux blocs internes et le corps de la méthode elle-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 d' IDebugMethodField représente la méthode d' func elle-même. Appelant la méthode d' EnumLocals avec IDebugAddress défini à l'adresse d' Inner Scope 1 retourne une énumération contenant la variable d' temp1 , par exemple.

Voir aussi

Référence

IDebugMethodField

IDebugAddress

IEnumDebugFields

IDebugMethodField : : EnumAllLocals