Udostępnij za pośrednictwem


IDkmHeuristicStackWalker.HeuristicWalkFrames Method

Definition

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.

Applies to