ICorDebugStackWalk::SetContext 方法

ICorDebugStackWalk 对象的当前上下文设置为线程的有效上下文。

HRESULT SetContext([in] CorDebugSetContextFlag flag,
                   [in] ULONG32 contextSize,
                   [in, size_is(contextSize)] BYTE context[]);

参数

  • flag
    [in] 一个 CorDebugSetContextFlag 标志,指示上下文是来自堆栈上的活动帧,还是来自通过展开堆栈获取的上下文。

  • contextSize
    [in] CONTEXT 缓冲区的已分配大小。

  • context
    [in] CONTEXT 缓冲区。

返回值

此方法将返回以下特定的 HRESULT 以及用于指示方法失败的 HRESULT 错误。

HRESULT

说明

S_OK

已成功设置 ICorDebugStackWalk 对象的上下文。

E_FAIL

尚未设置 ICorDebugStackWalk 对象的上下文。

E_INVALIDARG

上下文为 null。

HRESULT_FROM_WIN32(ERROR_INSUFFICIENT_BUFFER)

上下文缓冲区太小。

备注

此方法不更改线程的当前上下文。

将当前上下文设置为无效上下文可能会导致堆栈查看器生成不可预知的结果。

通过立即调用 ICorDebugStackWalk::GetContext 方法可以检索此上下文的精确按位副本。

要求

**平台:**请参见 .NET Framework 系统要求

头文件: CorDebug.idl、CorDebug.h

**库:**CorGuids.lib

**.NET Framework 版本:**4

请参见

其他资源

调试接口

调试(非托管 API 参考)