IDkmHeuristicStackWalker.HeuristicWalkFrames 方法

定义

尝试使用试探堆栈审核算法遍历堆栈的某个区域。 如果没有可用的符号,则在 x86 中使用。 它未在其他平台上实现,因为 PDATA 允许遍历所有帧。

public:
 cli::array <Microsoft::VisualStudio::Debugger::CallStack::DkmStackWalkFrame ^> ^ HeuristicWalkFrames(Microsoft::VisualStudio::Debugger::CallStack::DkmStackWalkContext ^ stackWalkContext, Microsoft::VisualStudio::Debugger::CallStack::DkmFrameRegisters ^ registers, System::UInt32 requestSize, System::UInt64 endStackPointer, [Runtime::InteropServices::Out] Microsoft::VisualStudio::Debugger::CallStack::DkmFrameRegisters ^ % nextRegisters, [Runtime::InteropServices::Out] bool % endOfStack);
public Microsoft.VisualStudio.Debugger.CallStack.DkmStackWalkFrame[] HeuristicWalkFrames (Microsoft.VisualStudio.Debugger.CallStack.DkmStackWalkContext stackWalkContext, Microsoft.VisualStudio.Debugger.CallStack.DkmFrameRegisters registers, uint requestSize, ulong endStackPointer, out Microsoft.VisualStudio.Debugger.CallStack.DkmFrameRegisters nextRegisters, out bool endOfStack);
abstract member HeuristicWalkFrames : Microsoft.VisualStudio.Debugger.CallStack.DkmStackWalkContext * Microsoft.VisualStudio.Debugger.CallStack.DkmFrameRegisters * uint32 * uint64 * DkmFrameRegisters * bool -> Microsoft.VisualStudio.Debugger.CallStack.DkmStackWalkFrame[]
Public Function HeuristicWalkFrames (stackWalkContext As DkmStackWalkContext, registers As DkmFrameRegisters, requestSize As UInteger, endStackPointer As ULong, ByRef nextRegisters As DkmFrameRegisters, ByRef endOfStack As Boolean) As DkmStackWalkFrame()

参数

stackWalkContext
DkmStackWalkContext

中DkmStackWalkContext 允许各种组件遍历、筛选或检查调用堆栈,以存储与此调用堆栈关联的私有数据。

registers
DkmFrameRegisters

中注册以尝试进行遍历。

requestSize
UInt32

中RequestSize 是调用方希望返回的帧数。 如果堆栈不包含多个帧,则 HeuristicWalkFrames 的实现可能会返回更少的帧。

endStackPointer
UInt64

中要停止展开的堆栈地址。 如果无结束堆栈指针存在,则此值为 UInt64。

nextRegisters
DkmFrameRegisters

[Out,Optional]NextRegisters 指示下一帧 ("FrameObject" 的调用方的寄存器 ) 。 如果堆栈完成,则为 null; 如果已到达 EndStackPointer,则为 null。

endOfStack
Boolean

弄如果监视器到达堆栈的末尾,则返回 true。

返回

DkmStackWalkFrame[]

弄DkmStackWalkFrame [] 表示调用堆栈上的一个帧,该帧已遍历,但可能尚未进行格式设置或筛选。 格式化的帧由 DkmStackFrame 表示。

适用于