IDkmHeuristicStackWalker.HeuristicWalkFrames Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Attempt to walk through a region of the stack using a heuristic stack walk algorithm. This is used in x86 when no symbols are available. It is not implemented on other platforms as PDATA allows walking of all frames.
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);
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()
Parameters
- stackWalkContext
- DkmStackWalkContext
[In] DkmStackWalkContext allows the various components which walk, filter, or examine call stacks to store private data which is associated with this call stack.
- registers
- DkmFrameRegisters
[In] Registers to attempt to walk from.
- requestSize
- UInt32
[In] RequestSize is the number of frames that the caller would like returned. The implementation of HeuristicWalkFrames may return fewer frames in the case that stack does not contain that many frames.
- endStackPointer
- UInt64
[In] Stack address to stop the unwinding at. This value is UInt64.MaxValue if the no end stack pointer is present.
- nextRegisters
- DkmFrameRegisters
[Out,Optional] NextRegisters indicates the registers of the next frame (the caller of 'FrameObject'). This will be null if the stack is complete, or if the EndStackPointer was reached.
- endOfStack
- Boolean
[Out] Returns true if the monitor reached the end of the stack.
Returns
[Out] DkmStackWalkFrame[] represents a frame on a call stack which has been walked, but may not have been formatted or filtered. Formatted frames are represented by DkmStackFrame instead.