ICorDebugThread3::GetActiveInternalFrames 方法
返回堆栈上的内部帧数组(ICorDebugInternalFrame2 对象)。
语法
HRESULT GetActiveInternalFrames
(
[in] ULONG32 cInternalFrames,
[out] ULONG32 *pcInternalFrames,
[in, out,size_is(cInternalFrames), length_is(*pcInternalFrames)]
ICorDebugInternalFrame2 * ppInternalFrames[]
);
参数
cInternalFrames
[in] ppInternalFrames
中所需的内部帧数目。
pcInternalFrames
[out] 指向包含堆栈上内部帧数目的 ULONG32
的指针。
ppInternalFrames
[in,out] 指向堆栈上内部帧数组的地址的指针。
返回值
此方法返回以下特定 HRESULT 以及表示方法失败的 HRESULT 错误。
HRESULT | 说明 |
---|---|
S_OK | 已成功创建 ICorDebugInternalFrame2 对象。 |
E_INVALIDARG | cInternalFrames 不为零,并且 ppInternalFrames 为 null 或 pcInternalFrames 为 null 。 |
HRESULT_FROM_WIN32(ERROR_INSUFFICIENT_BUFFER) | ppInternalFrames 小于内部帧的计数。 |
例外
备注
内部帧是运行时推送到堆栈上以存储临时数据的数据结构。
首次调用 GetActiveInternalFrames
时,应将参数 cInternalFrames
设置为 0(零),将参数 ppInternalFrames
设置为 NULL。 GetActiveInternalFrames
首次返回时,pcInternalFrames
将包含堆栈上内部帧的计数。
然后应再次调用 GetActiveInternalFrames
。 应在参数 cInternalFrames
中传递正确的计数 (pcInternalFrames
),并指定指针指向 ppInternalFrames
中适当大小的数组。
使用 ICorDebugStackWalk::GetFrame 方法返回实际的堆栈帧。
要求
平台:请参阅系统要求。
标头:CorDebug.idl、CorDebug.h
库:CorGuids.lib
.NET Framework 版本:自 4 起可用
请参阅
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈