DkmStackWalkFrame.Create Method

Definition

Overloads

Create(DkmThread, DkmInstructionAddress, UInt64, UInt32, DkmStackWalkFrameFlags, String, DkmFrameRegisters, ReadOnlyCollection<DkmStackWalkFrameAnnotation>)

Create a new DkmStackWalkFrame object instance.

C++
public:
 static Microsoft::VisualStudio::Debugger::CallStack::DkmStackWalkFrame ^ Create(Microsoft::VisualStudio::Debugger::DkmThread ^ Thread, Microsoft::VisualStudio::Debugger::DkmInstructionAddress ^ InstructionAddress, System::UInt64 FrameBase, System::UInt32 FrameSize, Microsoft::VisualStudio::Debugger::CallStack::DkmStackWalkFrameFlags Flags, System::String ^ Description, Microsoft::VisualStudio::Debugger::CallStack::DkmFrameRegisters ^ Registers, System::Collections::ObjectModel::ReadOnlyCollection<Microsoft::VisualStudio::Debugger::CallStack::DkmStackWalkFrameAnnotation ^> ^ Annotations);

Parameters

Thread
DkmThread

[In] The thread that this stack frame is on.

InstructionAddress
DkmInstructionAddress

[In,Optional] The instruction of this frame. This can be omitted for annotated frames.

FrameBase
UInt64

[In] Base stack pointer of the frame. This is used by the SDM to sort the frame, and it is used by the stack merger to assess walk progress, so this value is required even for annotated frames. This value should only be invalid in the case that the debuggee's stack is corrupt.

FrameSize
UInt32

[In] Number of bytes of the stack consumed by this frame. This value will be zero for annotated frames, or if the value is unknown.

Flags
DkmStackWalkFrameFlags

[In] Flags properties of a DkmStackWalkFrame.

Description
String

[In,Optional] Description of the frame which will be displayed in the call stack window. This should be provided for annotated frames.

Registers
DkmFrameRegisters

[In,Optional] Registers of the walked frame. These should be provided for non-annotated frames.

Annotations
ReadOnlyCollection<DkmStackWalkFrameAnnotation>

[In,Optional] A read only collection of stack frame annotations. These are defined by an unwinder and are specific to that unwinder. An example usage is how inline frame data is passed from inline stack filter to the formatter.

Returns

[Out] Result of this method call.

Applies to

Visual Studio SDK 2022 and other versions
Product Versions
Visual Studio SDK 2015, 2017, 2019, 2022

Create(DkmThread, DkmInstructionAddress, UInt64, UInt32, DkmStackWalkFrameFlags, String, DkmFrameRegisters, ReadOnlyCollection<DkmStackWalkFrameAnnotation>, DkmModuleInstance, DkmAsyncStackWalkContext, DkmStackWalkFrameData)

Create a new DkmStackWalkFrame object instance.

This API was introduced in Visual Studio 12 RTM (DkmApiVersion.VS12RTM).

C++
public:
 static Microsoft::VisualStudio::Debugger::CallStack::DkmStackWalkFrame ^ Create(Microsoft::VisualStudio::Debugger::DkmThread ^ Thread, Microsoft::VisualStudio::Debugger::DkmInstructionAddress ^ InstructionAddress, System::UInt64 FrameBase, System::UInt32 FrameSize, Microsoft::VisualStudio::Debugger::CallStack::DkmStackWalkFrameFlags Flags, System::String ^ Description, Microsoft::VisualStudio::Debugger::CallStack::DkmFrameRegisters ^ Registers, System::Collections::ObjectModel::ReadOnlyCollection<Microsoft::VisualStudio::Debugger::CallStack::DkmStackWalkFrameAnnotation ^> ^ Annotations, Microsoft::VisualStudio::Debugger::DkmModuleInstance ^ AnnotatedModule, Microsoft::VisualStudio::Debugger::CallStack::DkmAsyncStackWalkContext ^ AsyncContext, Microsoft::VisualStudio::Debugger::CallStack::DkmStackWalkFrameData ^ Data);

Parameters

Thread
DkmThread

[In] The thread that this stack frame is on.

InstructionAddress
DkmInstructionAddress

[In,Optional] The instruction of this frame. This can be omitted for annotated frames.

FrameBase
UInt64

[In] Base stack pointer of the frame. This is used by the SDM to sort the frame, and it is used by the stack merger to assess walk progress, so this value is required even for annotated frames. This value should only be invalid in the case that the debuggee's stack is corrupt.

FrameSize
UInt32

[In] Number of bytes of the stack consumed by this frame. This value will be zero for annotated frames, or if the value is unknown.

Flags
DkmStackWalkFrameFlags

[In] Flags properties of a DkmStackWalkFrame.

Description
String

[In,Optional] Description of the frame which will be displayed in the call stack window. This should be provided for annotated frames.

Registers
DkmFrameRegisters

[In,Optional] Registers of the walked frame. These should be provided for non-annotated frames.

Annotations
ReadOnlyCollection<DkmStackWalkFrameAnnotation>

[In,Optional] A read only collection of stack frame annotations. These are defined by an unwinder and are specific to that unwinder. An example usage is how inline frame data is passed from inline stack filter to the formatter.

AnnotatedModule
DkmModuleInstance

[In,Optional] If we have an annotated frame, specifies an optional module instance to associate with this frame. If present, the user will be able to load binaries or symbols for this module by right-clicking on this frame in the call stack window. This is NULL for non-annotated frames.

AsyncContext
DkmAsyncStackWalkContext

[In,Optional] Optional context for walking async return stacks and task creation stacks.

Data
DkmStackWalkFrameData

[In,Optional] Optional object to attach to a DkmStackWalkFrame, allowing components to associate additional private data with the frame.

Returns

[Out] Result of this method call.

Applies to

Visual Studio SDK 2022 and other versions
Product Versions
Visual Studio SDK 2015, 2017, 2019, 2022

Create(DkmThread, DkmInstructionAddress, UInt64, UInt32, DkmStackWalkFrameFlags, String, DkmFrameRegisters, ReadOnlyCollection<DkmStackWalkFrameAnnotation>, DkmModuleInstance, DkmAsyncStackWalkContext, DkmStackWalkFrameData, DkmBasicInstructionSymbolInfo)

Create a new DkmStackWalkFrame object instance.

This API was introduced in Visual Studio 16 RTM (DkmApiVersion.VS16RTMPreview).

C++
public:
 static Microsoft::VisualStudio::Debugger::CallStack::DkmStackWalkFrame ^ Create(Microsoft::VisualStudio::Debugger::DkmThread ^ Thread, Microsoft::VisualStudio::Debugger::DkmInstructionAddress ^ InstructionAddress, System::UInt64 FrameBase, System::UInt32 FrameSize, Microsoft::VisualStudio::Debugger::CallStack::DkmStackWalkFrameFlags Flags, System::String ^ Description, Microsoft::VisualStudio::Debugger::CallStack::DkmFrameRegisters ^ Registers, System::Collections::ObjectModel::ReadOnlyCollection<Microsoft::VisualStudio::Debugger::CallStack::DkmStackWalkFrameAnnotation ^> ^ Annotations, Microsoft::VisualStudio::Debugger::DkmModuleInstance ^ AnnotatedModule, Microsoft::VisualStudio::Debugger::CallStack::DkmAsyncStackWalkContext ^ AsyncContext, Microsoft::VisualStudio::Debugger::CallStack::DkmStackWalkFrameData ^ Data, Microsoft::VisualStudio::Debugger::Symbols::DkmBasicInstructionSymbolInfo ^ BasicSymbolInfo);

Parameters

Thread
DkmThread

[In] The thread that this stack frame is on.

InstructionAddress
DkmInstructionAddress

[In,Optional] The instruction of this frame. This can be omitted for annotated frames.

FrameBase
UInt64

[In] Base stack pointer of the frame. This is used by the SDM to sort the frame, and it is used by the stack merger to assess walk progress, so this value is required even for annotated frames. This value should only be invalid in the case that the debuggee's stack is corrupt.

FrameSize
UInt32

[In] Number of bytes of the stack consumed by this frame. This value will be zero for annotated frames, or if the value is unknown.

Flags
DkmStackWalkFrameFlags

[In] Flags properties of a DkmStackWalkFrame.

Description
String

[In,Optional] Description of the frame which will be displayed in the call stack window. This should be provided for annotated frames.

Registers
DkmFrameRegisters

[In,Optional] Registers of the walked frame. These should be provided for non-annotated frames.

Annotations
ReadOnlyCollection<DkmStackWalkFrameAnnotation>

[In,Optional] A read only collection of stack frame annotations. These are defined by an unwinder and are specific to that unwinder. An example usage is how inline frame data is passed from inline stack filter to the formatter.

AnnotatedModule
DkmModuleInstance

[In,Optional] If we have an annotated frame, specifies an optional module instance to associate with this frame. If present, the user will be able to load binaries or symbols for this module by right-clicking on this frame in the call stack window. This is NULL for non-annotated frames.

AsyncContext
DkmAsyncStackWalkContext

[In,Optional] Optional context for walking async return stacks and task creation stacks.

Data
DkmStackWalkFrameData

[In,Optional] Optional object to attach to a DkmStackWalkFrame, allowing components to associate additional private data with the frame.

BasicSymbolInfo
DkmBasicInstructionSymbolInfo

[In,Optional] Contains basic info about the DkmInstructionSymbol corresponding to the frame's InstructionAddress. For native frames, this will be computed by the StackProvider before the frame is passed to a stack filter.

This will always be null for a DkmStackFrame.

Returns

[Out] Result of this method call.

Applies to

Visual Studio SDK 2022 and Visual Studio SDK 2019
Product Versions
Visual Studio SDK 2019, 2022

Create(DkmThread, DkmInstructionAddress, UInt64, UInt32, DkmStackWalkFrameFlags, String, DkmFrameRegisters, ReadOnlyCollection<DkmStackWalkFrameAnnotation>, DkmModuleInstance, DkmAsyncStackWalkContext, DkmStackWalkFrameData, DkmBasicInstructionSymbolInfo, DkmStackWalkFramePriority)

Create a new DkmStackWalkFrame object instance.

This API was introduced in Visual Studio 17 Update 5 (DkmApiVersion.VS17Update5).

C#
public static Microsoft.VisualStudio.Debugger.CallStack.DkmStackWalkFrame Create(Microsoft.VisualStudio.Debugger.DkmThread Thread, Microsoft.VisualStudio.Debugger.DkmInstructionAddress? InstructionAddress, ulong FrameBase, uint FrameSize, Microsoft.VisualStudio.Debugger.CallStack.DkmStackWalkFrameFlags Flags, string? Description, Microsoft.VisualStudio.Debugger.CallStack.DkmFrameRegisters? Registers, System.Collections.ObjectModel.ReadOnlyCollection<Microsoft.VisualStudio.Debugger.CallStack.DkmStackWalkFrameAnnotation>? Annotations, Microsoft.VisualStudio.Debugger.DkmModuleInstance? AnnotatedModule, Microsoft.VisualStudio.Debugger.CallStack.DkmAsyncStackWalkContext? AsyncContext, Microsoft.VisualStudio.Debugger.CallStack.DkmStackWalkFrameData? Data, Microsoft.VisualStudio.Debugger.Symbols.DkmBasicInstructionSymbolInfo? BasicSymbolInfo, Microsoft.VisualStudio.Debugger.CallStack.DkmStackWalkFramePriority Priority);

Parameters

Thread
DkmThread

[In] The thread that this stack frame is on.

InstructionAddress
DkmInstructionAddress

[In,Optional] The instruction of this frame. This can be omitted for annotated frames.

FrameBase
UInt64

[In] Base stack pointer of the frame. This is used by the SDM to sort the frame, and it is used by the stack merger to assess walk progress, so this value is required even for annotated frames. This value should only be invalid in the case that the debuggee's stack is corrupt.

FrameSize
UInt32

[In] Number of bytes of the stack consumed by this frame. This value will be zero for annotated frames, or if the value is unknown.

Flags
DkmStackWalkFrameFlags

[In] Flags properties of a DkmStackWalkFrame.

Description
String

[In,Optional] Description of the frame which will be displayed in the call stack window. This should be provided for annotated frames.

Registers
DkmFrameRegisters

[In,Optional] Registers of the walked frame. These should be provided for non-annotated frames.

Annotations
ReadOnlyCollection<DkmStackWalkFrameAnnotation>

[In,Optional] A read only collection of stack frame annotations. These are defined by an unwinder and are specific to that unwinder. An example usage is how inline frame data is passed from inline stack filter to the formatter.

AnnotatedModule
DkmModuleInstance

[In,Optional] If we have an annotated frame, specifies an optional module instance to associate with this frame. If present, the user will be able to load binaries or symbols for this module by right-clicking on this frame in the call stack window. This is NULL for non-annotated frames.

AsyncContext
DkmAsyncStackWalkContext

[In,Optional] Optional context for walking async return stacks and task creation stacks.

Data
DkmStackWalkFrameData

[In,Optional] Optional object to attach to a DkmStackWalkFrame, allowing components to associate additional private data with the frame.

BasicSymbolInfo
DkmBasicInstructionSymbolInfo

[In,Optional] Contains basic info about the DkmInstructionSymbol corresponding to the frame's InstructionAddress. For native frames, this will be computed by the StackProvider before the frame is passed to a stack filter.

This will always be null for a DkmStackFrame.

Priority
DkmStackWalkFramePriority

[In] The priority of the stack walk frame. This is typically used for annotated frames that have detected a problem.

Returns

[Out] Result of this method call.

Applies to

Visual Studio SDK 2022
Product Versions
Visual Studio SDK 2022