IDkmHeuristicStackWalker.HeuristicWalkFrames 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
尝试使用试探堆栈审核算法遍历堆栈的某个区域。 如果没有可用的符号,则在 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 [] 表示调用堆栈上的一个帧,该帧已遍历,但可能尚未进行格式设置或筛选。 格式化的帧由 DkmStackFrame 表示。