ICorDebugStackWalk::GetContext 方法

返回 ICorDebugStackWalk 对象中的当前帧的上下文。

HRESULT GetContext([in]  ULONG32 contextFlags,
                   [in]  ULONG32 contextBufSize,
                   [out] ULONG32* contextSize,
                   [out, size_is(contextBufSize)] BYTE contextBuf[]);

参数

  • contextFlags
    [in] 用于指示请求的上下文缓冲区内容的标记(在 WinNT.h 中定义)。

  • contextBufSize
    [in] 上下文缓冲区的已分配大小。

  • contextSize
    [out] 上下文的实际大小。 此值必须小于或等于上下文缓冲区的大小。

  • contextBuf
    [out] 上下文缓冲区。

返回值

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

HRESULT

说明

S_OK

成功返回当前帧的上下文。

E_FAIL

未能返回上下文。

HRESULT_FROM_WIN32(ERROR_INSUFFICIENT BUFFER)

上下文缓冲区太小。

CORDBG_E_PAST_END_OF_STACK

帧指针已经位于堆栈的末尾;因此,无法访问其他帧。

备注

由于展开过程仅还原寄存器的子集(例如非易失寄存器),因此,在调用时上下文可能不会与寄存器状态完全匹配。

要求

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

头文件: CorDebug.idl、CorDebug.h

**库:**CorGuids.lib

**.NET Framework 版本:**4

请参见

其他资源

调试接口

调试(非托管 API 参考)