Share via


DkmStepper.Create Method

Definition

Overloads

Create(DkmThread, DkmInstructionAddress, UInt64, DkmStepKind, DkmStepUnit, Guid, DkmSteppingCodePath, DkmStepper, DkmDataItem)

DkmStepper objects are created by components that wish to issue a step. User-level steppers are created by the AD7-AL. To initialize a stepper object, Enable must be called. Stepper objects will live until the step completes, or is aborted.

Create(DkmThread, DkmInstructionAddress, UInt64, DkmStepKind, DkmStepUnit, Guid, DkmSteppingCodePath, DkmStepper, Boolean, ReadOnlyCollection<DkmSteppingCodePath>, String, DkmDataItem)

DkmStepper objects are created by components that wish to issue a step. User-level steppers are created by the AD7-AL. To initialize a stepper object, Enable must be called. Stepper objects will live until the step completes, or is aborted.

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

Create(DkmThread, DkmInstructionAddress, UInt64, DkmStepKind, DkmStepUnit, Guid, DkmSteppingCodePath, DkmStepper, DkmDataItem)

DkmStepper objects are created by components that wish to issue a step. User-level steppers are created by the AD7-AL. To initialize a stepper object, Enable must be called. Stepper objects will live until the step completes, or is aborted.

public:
 static Microsoft::VisualStudio::Debugger::Stepping::DkmStepper ^ Create(Microsoft::VisualStudio::Debugger::DkmThread ^ Thread, Microsoft::VisualStudio::Debugger::DkmInstructionAddress ^ StartingAddress, System::UInt64 FrameBase, Microsoft::VisualStudio::Debugger::Stepping::DkmStepKind StepKind, Microsoft::VisualStudio::Debugger::Stepping::DkmStepUnit StepUnit, Guid SourceId, Microsoft::VisualStudio::Debugger::Stepping::DkmSteppingCodePath ^ CodePath, Microsoft::VisualStudio::Debugger::Stepping::DkmStepper ^ CrossThreadParent, Microsoft::VisualStudio::Debugger::DkmDataItem ^ DataItem);
public static Microsoft.VisualStudio.Debugger.Stepping.DkmStepper Create (Microsoft.VisualStudio.Debugger.DkmThread Thread, Microsoft.VisualStudio.Debugger.DkmInstructionAddress StartingAddress, ulong FrameBase, Microsoft.VisualStudio.Debugger.Stepping.DkmStepKind StepKind, Microsoft.VisualStudio.Debugger.Stepping.DkmStepUnit StepUnit, Guid SourceId, Microsoft.VisualStudio.Debugger.Stepping.DkmSteppingCodePath CodePath, Microsoft.VisualStudio.Debugger.Stepping.DkmStepper CrossThreadParent, Microsoft.VisualStudio.Debugger.DkmDataItem DataItem);
public static Microsoft.VisualStudio.Debugger.Stepping.DkmStepper Create (Microsoft.VisualStudio.Debugger.DkmThread Thread, Microsoft.VisualStudio.Debugger.DkmInstructionAddress? StartingAddress, ulong FrameBase, Microsoft.VisualStudio.Debugger.Stepping.DkmStepKind StepKind, Microsoft.VisualStudio.Debugger.Stepping.DkmStepUnit StepUnit, Guid SourceId, Microsoft.VisualStudio.Debugger.Stepping.DkmSteppingCodePath? CodePath, Microsoft.VisualStudio.Debugger.Stepping.DkmStepper? CrossThreadParent, Microsoft.VisualStudio.Debugger.DkmDataItem? DataItem);
static member Create : Microsoft.VisualStudio.Debugger.DkmThread * Microsoft.VisualStudio.Debugger.DkmInstructionAddress * uint64 * Microsoft.VisualStudio.Debugger.Stepping.DkmStepKind * Microsoft.VisualStudio.Debugger.Stepping.DkmStepUnit * Guid * Microsoft.VisualStudio.Debugger.Stepping.DkmSteppingCodePath * Microsoft.VisualStudio.Debugger.Stepping.DkmStepper * Microsoft.VisualStudio.Debugger.DkmDataItem -> Microsoft.VisualStudio.Debugger.Stepping.DkmStepper
Public Shared Function Create (Thread As DkmThread, StartingAddress As DkmInstructionAddress, FrameBase As ULong, StepKind As DkmStepKind, StepUnit As DkmStepUnit, SourceId As Guid, CodePath As DkmSteppingCodePath, CrossThreadParent As DkmStepper, DataItem As DkmDataItem) As DkmStepper

Parameters

Thread
DkmThread

[In] DkmThread represents a thread running in the target process.

StartingAddress
DkmInstructionAddress

[In,Optional] The instruction address of the process at the time this step started. This will be NULL if the step originated on a thread with no frames (Script & Managed Only).

FrameBase
UInt64

[In] The frame base of the first frame at the beginning of the step. This value will be MAXUINT64 if the StartingAddress was not specified.

StepKind
DkmStepKind

[In] DkmStepKind describes how to step the thread when the Step Method is called.

StepUnit
DkmStepUnit

[In] DkmStepUnit describes the granularity of the step when the Step method is called.

SourceId
Guid

[In] Identifies the source of an object. SourceIds are used to enable filtering in scenarios when multiple components may be creating instances of a class. For example, source ids can be used to determine if a breakpoint comes from the AD7 AL (ex: user breakpoint, or other breakpoint visible at the SDM level) instead of a breakpoint which may be created by another component (for example an internal breakpoint used for stepping).

CodePath
DkmSteppingCodePath

[In,Optional] If StepKind is StepIntoSpecific, specifies which call we are stepping into. Otherwise it is NULL.

CrossThreadParent
DkmStepper

[In,Optional] If a new stepper is created using OnCrossThreadStepArbitration, the stepping manager will set this field to make it easy to get back to the original stepper if the cross thread step fails or needs to fallback. Deprecated. Use GetCrossThreadParent instead.

DataItem
DkmDataItem

[In,Optional] Data object to add to the new DkmStepper instance. Pass 'null' in the case that the caller doesn't need to add a data item.

Returns

[Out] Result of this method call.

Applies to

Create(DkmThread, DkmInstructionAddress, UInt64, DkmStepKind, DkmStepUnit, Guid, DkmSteppingCodePath, DkmStepper, Boolean, ReadOnlyCollection<DkmSteppingCodePath>, String, DkmDataItem)

DkmStepper objects are created by components that wish to issue a step. User-level steppers are created by the AD7-AL. To initialize a stepper object, Enable must be called. Stepper objects will live until the step completes, or is aborted.

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

public:
 static Microsoft::VisualStudio::Debugger::Stepping::DkmStepper ^ Create(Microsoft::VisualStudio::Debugger::DkmThread ^ Thread, Microsoft::VisualStudio::Debugger::DkmInstructionAddress ^ StartingAddress, System::UInt64 FrameBase, Microsoft::VisualStudio::Debugger::Stepping::DkmStepKind StepKind, Microsoft::VisualStudio::Debugger::Stepping::DkmStepUnit StepUnit, Guid SourceId, Microsoft::VisualStudio::Debugger::Stepping::DkmSteppingCodePath ^ CodePath, Microsoft::VisualStudio::Debugger::Stepping::DkmStepper ^ CrossThreadParent, bool ShouldCaptureReturnValue, System::Collections::ObjectModel::ReadOnlyCollection<Microsoft::VisualStudio::Debugger::Stepping::DkmSteppingCodePath ^> ^ CurrentCodePaths, System::String ^ CurrentMethodName, Microsoft::VisualStudio::Debugger::DkmDataItem ^ DataItem);
public static Microsoft.VisualStudio.Debugger.Stepping.DkmStepper Create (Microsoft.VisualStudio.Debugger.DkmThread Thread, Microsoft.VisualStudio.Debugger.DkmInstructionAddress StartingAddress, ulong FrameBase, Microsoft.VisualStudio.Debugger.Stepping.DkmStepKind StepKind, Microsoft.VisualStudio.Debugger.Stepping.DkmStepUnit StepUnit, Guid SourceId, Microsoft.VisualStudio.Debugger.Stepping.DkmSteppingCodePath CodePath, Microsoft.VisualStudio.Debugger.Stepping.DkmStepper CrossThreadParent, bool ShouldCaptureReturnValue, System.Collections.ObjectModel.ReadOnlyCollection<Microsoft.VisualStudio.Debugger.Stepping.DkmSteppingCodePath> CurrentCodePaths, string CurrentMethodName, Microsoft.VisualStudio.Debugger.DkmDataItem DataItem);
public static Microsoft.VisualStudio.Debugger.Stepping.DkmStepper Create (Microsoft.VisualStudio.Debugger.DkmThread Thread, Microsoft.VisualStudio.Debugger.DkmInstructionAddress? StartingAddress, ulong FrameBase, Microsoft.VisualStudio.Debugger.Stepping.DkmStepKind StepKind, Microsoft.VisualStudio.Debugger.Stepping.DkmStepUnit StepUnit, Guid SourceId, Microsoft.VisualStudio.Debugger.Stepping.DkmSteppingCodePath? CodePath, Microsoft.VisualStudio.Debugger.Stepping.DkmStepper? CrossThreadParent, bool ShouldCaptureReturnValue, System.Collections.ObjectModel.ReadOnlyCollection<Microsoft.VisualStudio.Debugger.Stepping.DkmSteppingCodePath>? CurrentCodePaths, string? CurrentMethodName, Microsoft.VisualStudio.Debugger.DkmDataItem? DataItem);
static member Create : Microsoft.VisualStudio.Debugger.DkmThread * Microsoft.VisualStudio.Debugger.DkmInstructionAddress * uint64 * Microsoft.VisualStudio.Debugger.Stepping.DkmStepKind * Microsoft.VisualStudio.Debugger.Stepping.DkmStepUnit * Guid * Microsoft.VisualStudio.Debugger.Stepping.DkmSteppingCodePath * Microsoft.VisualStudio.Debugger.Stepping.DkmStepper * bool * System.Collections.ObjectModel.ReadOnlyCollection<Microsoft.VisualStudio.Debugger.Stepping.DkmSteppingCodePath> * string * Microsoft.VisualStudio.Debugger.DkmDataItem -> Microsoft.VisualStudio.Debugger.Stepping.DkmStepper
Public Shared Function Create (Thread As DkmThread, StartingAddress As DkmInstructionAddress, FrameBase As ULong, StepKind As DkmStepKind, StepUnit As DkmStepUnit, SourceId As Guid, CodePath As DkmSteppingCodePath, CrossThreadParent As DkmStepper, ShouldCaptureReturnValue As Boolean, CurrentCodePaths As ReadOnlyCollection(Of DkmSteppingCodePath), CurrentMethodName As String, DataItem As DkmDataItem) As DkmStepper

Parameters

Thread
DkmThread

[In] DkmThread represents a thread running in the target process.

StartingAddress
DkmInstructionAddress

[In,Optional] The instruction address of the process at the time this step started. This will be NULL if the step originated on a thread with no frames (Script & Managed Only).

FrameBase
UInt64

[In] The frame base of the first frame at the beginning of the step. This value will be MAXUINT64 if the StartingAddress was not specified.

StepKind
DkmStepKind

[In] DkmStepKind describes how to step the thread when the Step Method is called.

StepUnit
DkmStepUnit

[In] DkmStepUnit describes the granularity of the step when the Step method is called.

SourceId
Guid

[In] Identifies the source of an object. SourceIds are used to enable filtering in scenarios when multiple components may be creating instances of a class. For example, source ids can be used to determine if a breakpoint comes from the AD7 AL (ex: user breakpoint, or other breakpoint visible at the SDM level) instead of a breakpoint which may be created by another component (for example an internal breakpoint used for stepping).

CodePath
DkmSteppingCodePath

[In,Optional] If StepKind is StepIntoSpecific, specifies which call we are stepping into. Otherwise it is NULL.

CrossThreadParent
DkmStepper

[In,Optional] If a new stepper is created using OnCrossThreadStepArbitration, the stepping manager will set this field to make it easy to get back to the original stepper if the cross thread step fails or needs to fallback. Deprecated. Use GetCrossThreadParent instead.

ShouldCaptureReturnValue
Boolean

[In] In managed debugging, it indicates if the stepper wanted to capture return value during stepping. Default it is false.

CurrentCodePaths
ReadOnlyCollection<DkmSteppingCodePath>

[In,Optional] In managed debugging, it contains all code paths in current step range. Otherwise it is NULL.

CurrentMethodName
String

[In,Optional] In managed debugging, it contains current method name. Otherwise it is NULL.

DataItem
DkmDataItem

[In,Optional] Data object to add to the new DkmStepper instance. Pass 'null' in the case that the caller doesn't need to add a data item.

Returns

[Out] Result of this method call.

Applies to