메서드의 선택된 지역 변수에 대한 열거자를 만듭니다.
구문
매개 변수
pAddress
[in] 로컬을 가져올 컨텍스트 또는 범위를 선택하는 디버그 주소를 나타내는 IDebugAddress 개체입니다.
ppLocals
[out] 지역 목록을 나타내는 IEnumDebugFields 개체를 반환합니다. 그렇지 않으면 로컬이 없는 경우 null 값을 반환합니다.
Return Value
성공하면 S_OK를 반환하고 또는 지역이 없는 경우 S_FALSE를 반환합니다. 그렇지 않으면 오류 코드를 반환합니다.
설명
지정된 디버그 주소를 포함하는 블록 내에 정의된 변수만 열거됩니다. 컴파일러 생성 로컬을 포함한 모든 로컬이 필요한 경우 EnumAllLocals 메서드를 호출합니다.
메서드는 여러 범위 지정 컨텍스트 또는 블록을 포함할 수 있습니다. 예를 들어 다음과 같은 변환된 메서드에는 2개의 내부 블록 및 메서드 본문 자체의 3개의 범위가 포함됩니다.
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 메서드 자체를 나타냅니다. 예를 들어 IDebugAddress가 Inner Scope 1 주소로 설정된 상태에서 EnumLocals 메서드를 호출하면 temp1 변수가 포함된 열거형이 반환됩니다.