创建方法的选定的局部变量的枚举数。
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 方法。 例如调用与 IDebugAddress 的 EnumLocals 方法设置为 Inner Scope 1 地址返回包含 temp1 变量的枚举,。