다음을 통해 공유


IDebugMethodField::EnumLocals

선택한 지역 변수에 메서드는 열거자를 만듭니다.

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

매개 변수

  • pAddress
    [in] IDebugAddress 컨텍스트 또는 범위의 지역 변수를 얻을 수를 선택 하는 디버그 주소를 나타내는 개체입니다.

  • ppLocals
    [out] 반환 된 IEnumDebugFields ; 지역 변수 목록을 나타내는 개체 그렇지 않으면 지역 없는 경우 null 값을 반환 합니다.

반환 값

성공 하면 S_OK를 반환 하거나 없는 지역 없으면 S_FALSE를 반환 합니다. 그렇지 않으면 오류 코드를 반환 합니다.

설명

지정 된 디버그 주소가 들어 블록 내에서 정의 된 변수만 열거 됩니다. 모든 지역 변수는 컴파일러에서 생성 된 지역 변수를 포함 하 여 필요한 경우 호출 하는 IDebugMethodField::EnumAllLocals 메서드.

메서드에 여러 범위 지정 컨텍스트 또는 블록을 포함할 수 있습니다. 예를 들어, 다음과 같은 인위적인된 방법 세 가지 범위는 두 개의 내부 블록과 메서드 본문이 포함 되어 있습니다.

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;
    }
}

IDebugMethodField 나타내는 개체는 func 메서드 자체. 호출 하는 EnumLocals 메서드를 사용는 IDebugAddress 설정는 Inner Scope 1 주소를 반환 하는 열거형을 포함 하는 temp1 예를 들어 변수.

참고 항목

참조

IDebugMethodField

IDebugAddress

IEnumDebugFields

IDebugMethodField::EnumAllLocals