DkmStackWalkFrame.Create Method
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.
Create(DkmThread, DkmInstructionAddress, UInt64, UInt32, DkmStackWalkFrameFlags, String, DkmFrameRegisters, ReadOnlyCollection<DkmStackWalkFrameAnnotation>)
Create a new DkmStackWalkFrame object instance.
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);
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);
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);
static member Create : Microsoft.VisualStudio.Debugger.DkmThread * Microsoft.VisualStudio.Debugger.DkmInstructionAddress * uint64 * uint32 * Microsoft.VisualStudio.Debugger.CallStack.DkmStackWalkFrameFlags * string * Microsoft.VisualStudio.Debugger.CallStack.DkmFrameRegisters * System.Collections.ObjectModel.ReadOnlyCollection<Microsoft.VisualStudio.Debugger.CallStack.DkmStackWalkFrameAnnotation> -> Microsoft.VisualStudio.Debugger.CallStack.DkmStackWalkFrame
Public Shared Function Create (Thread As DkmThread, InstructionAddress As DkmInstructionAddress, FrameBase As ULong, FrameSize As UInteger, Flags As DkmStackWalkFrameFlags, Description As String, Registers As DkmFrameRegisters, Annotations As ReadOnlyCollection(Of DkmStackWalkFrameAnnotation)) As DkmStackWalkFrame
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).
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);
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);
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);
static member Create : Microsoft.VisualStudio.Debugger.DkmThread * Microsoft.VisualStudio.Debugger.DkmInstructionAddress * uint64 * uint32 * Microsoft.VisualStudio.Debugger.CallStack.DkmStackWalkFrameFlags * string * Microsoft.VisualStudio.Debugger.CallStack.DkmFrameRegisters * System.Collections.ObjectModel.ReadOnlyCollection<Microsoft.VisualStudio.Debugger.CallStack.DkmStackWalkFrameAnnotation> * Microsoft.VisualStudio.Debugger.DkmModuleInstance * Microsoft.VisualStudio.Debugger.CallStack.DkmAsyncStackWalkContext * Microsoft.VisualStudio.Debugger.CallStack.DkmStackWalkFrameData -> Microsoft.VisualStudio.Debugger.CallStack.DkmStackWalkFrame
Public Shared Function Create (Thread As DkmThread, InstructionAddress As DkmInstructionAddress, FrameBase As ULong, FrameSize As UInteger, Flags As DkmStackWalkFrameFlags, Description As String, Registers As DkmFrameRegisters, Annotations As ReadOnlyCollection(Of DkmStackWalkFrameAnnotation), AnnotatedModule As DkmModuleInstance, AsyncContext As DkmAsyncStackWalkContext, Data As DkmStackWalkFrameData) As DkmStackWalkFrame
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.
[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).
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);
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);
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);
static member Create : Microsoft.VisualStudio.Debugger.DkmThread * Microsoft.VisualStudio.Debugger.DkmInstructionAddress * uint64 * uint32 * Microsoft.VisualStudio.Debugger.CallStack.DkmStackWalkFrameFlags * string * Microsoft.VisualStudio.Debugger.CallStack.DkmFrameRegisters * System.Collections.ObjectModel.ReadOnlyCollection<Microsoft.VisualStudio.Debugger.CallStack.DkmStackWalkFrameAnnotation> * Microsoft.VisualStudio.Debugger.DkmModuleInstance * Microsoft.VisualStudio.Debugger.CallStack.DkmAsyncStackWalkContext * Microsoft.VisualStudio.Debugger.CallStack.DkmStackWalkFrameData * Microsoft.VisualStudio.Debugger.Symbols.DkmBasicInstructionSymbolInfo -> Microsoft.VisualStudio.Debugger.CallStack.DkmStackWalkFrame
Public Shared Function Create (Thread As DkmThread, InstructionAddress As DkmInstructionAddress, FrameBase As ULong, FrameSize As UInteger, Flags As DkmStackWalkFrameFlags, Description As String, Registers As DkmFrameRegisters, Annotations As ReadOnlyCollection(Of DkmStackWalkFrameAnnotation), AnnotatedModule As DkmModuleInstance, AsyncContext As DkmAsyncStackWalkContext, Data As DkmStackWalkFrameData, BasicSymbolInfo As DkmBasicInstructionSymbolInfo) As DkmStackWalkFrame
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.
[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).
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);
static member Create : Microsoft.VisualStudio.Debugger.DkmThread * Microsoft.VisualStudio.Debugger.DkmInstructionAddress * uint64 * uint32 * Microsoft.VisualStudio.Debugger.CallStack.DkmStackWalkFrameFlags * string * Microsoft.VisualStudio.Debugger.CallStack.DkmFrameRegisters * System.Collections.ObjectModel.ReadOnlyCollection<Microsoft.VisualStudio.Debugger.CallStack.DkmStackWalkFrameAnnotation> * Microsoft.VisualStudio.Debugger.DkmModuleInstance * Microsoft.VisualStudio.Debugger.CallStack.DkmAsyncStackWalkContext * Microsoft.VisualStudio.Debugger.CallStack.DkmStackWalkFrameData * Microsoft.VisualStudio.Debugger.Symbols.DkmBasicInstructionSymbolInfo * Microsoft.VisualStudio.Debugger.CallStack.DkmStackWalkFramePriority -> Microsoft.VisualStudio.Debugger.CallStack.DkmStackWalkFrame
Public Shared Function Create (Thread As DkmThread, InstructionAddress As DkmInstructionAddress, FrameBase As ULong, FrameSize As UInteger, Flags As DkmStackWalkFrameFlags, Description As String, Registers As DkmFrameRegisters, Annotations As ReadOnlyCollection(Of DkmStackWalkFrameAnnotation), AnnotatedModule As DkmModuleInstance, AsyncContext As DkmAsyncStackWalkContext, Data As DkmStackWalkFrameData, BasicSymbolInfo As DkmBasicInstructionSymbolInfo, Priority As DkmStackWalkFramePriority) As DkmStackWalkFrame
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.
[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 |