Language

DkmNativeInstructionSymbol.GetSteppingRanges Method

Definition

Overloads

Name Description
GetSteppingRanges(DkmModuleInstance, DkmInstructionAddress, DkmSteppingRangeBoundary, Boolean)

Queries the symbol provider to determine the ranges of instructions which the base debug monitor should step through to implement a step.

Location constraint: API must be called from a Monitor component (component level < 100,000).

This API was introduced in Visual Studio 14 RTM (DkmApiVersion.VS14RTM).

GetSteppingRanges(DkmWorkList, DkmModuleInstance, DkmInstructionAddress, DkmSteppingRangeBoundary, Boolean, DkmCompletionRoutine<DkmGetSteppingRangesAsyncResult>)

Queries the symbol provider to determine the ranges of instructions which the base debug monitor should step through to implement a step.

This method will append a new work item to the specified work list, and return once the work item has been appended. The actual processing of the work item is asynchronous. The caller will be notified that the request is complete through the completion routine.

Location constraint: API must be called from a Monitor component (component level < 100,000).

This API was introduced in Visual Studio 14 RTM (DkmApiVersion.VS14RTM).

GetSteppingRanges(DkmModuleInstance, DkmInstructionAddress, DkmSteppingRangeBoundary, Boolean)

Queries the symbol provider to determine the ranges of instructions which the base debug monitor should step through to implement a step.

Location constraint: API must be called from a Monitor component (component level < 100,000).

This API was introduced in Visual Studio 14 RTM (DkmApiVersion.VS14RTM).

public:
 cli::array <Microsoft::VisualStudio::Debugger::Symbols::DkmSteppingRange> ^ GetSteppingRanges(Microsoft::VisualStudio::Debugger::DkmModuleInstance ^ ModuleInstance, Microsoft::VisualStudio::Debugger::DkmInstructionAddress ^ StepStartingAddress, Microsoft::VisualStudio::Debugger::Symbols::DkmSteppingRangeBoundary RangeBoundary, bool IncludeInline);
public Microsoft.VisualStudio.Debugger.Symbols.DkmSteppingRange[] GetSteppingRanges(Microsoft.VisualStudio.Debugger.DkmModuleInstance ModuleInstance, Microsoft.VisualStudio.Debugger.DkmInstructionAddress StepStartingAddress, Microsoft.VisualStudio.Debugger.Symbols.DkmSteppingRangeBoundary RangeBoundary, bool IncludeInline);
public Microsoft.VisualStudio.Debugger.Symbols.DkmSteppingRange[] GetSteppingRanges(Microsoft.VisualStudio.Debugger.DkmModuleInstance ModuleInstance, Microsoft.VisualStudio.Debugger.DkmInstructionAddress? StepStartingAddress, Microsoft.VisualStudio.Debugger.Symbols.DkmSteppingRangeBoundary RangeBoundary, bool IncludeInline);
override this.GetSteppingRanges : Microsoft.VisualStudio.Debugger.DkmModuleInstance * Microsoft.VisualStudio.Debugger.DkmInstructionAddress * Microsoft.VisualStudio.Debugger.Symbols.DkmSteppingRangeBoundary * bool -> Microsoft.VisualStudio.Debugger.Symbols.DkmSteppingRange[]
Public Function GetSteppingRanges (ModuleInstance As DkmModuleInstance, StepStartingAddress As DkmInstructionAddress, RangeBoundary As DkmSteppingRangeBoundary, IncludeInline As Boolean) As DkmSteppingRange()

Parameters

ModuleInstance
DkmModuleInstance

[In] Module instance which contains the current instruction symbol.

StepStartingAddress
DkmInstructionAddress

[In,Optional] Instruction where the step began. May be null in unusual situations, such as beginning the step with no frames on the stack. Note that this is not necessarily a native instruction.

RangeBoundary
DkmSteppingRangeBoundary

[In] Indicates to the symbol provider the type of instructions to include in the 'no-step' regions.

IncludeInline
Boolean

[In] True if the symbol provider should stop the stepping range when it encounters an inline functions. False otherwise. The Native DM will pass true for a step in so steps will stop in inline functions. It will pass false when doing a step-over so the stepper will not stop in inline functions.

Returns

[Out] Array of ranges to step through. This array will be empty if there is no source information for the given instruction.

Applies to

GetSteppingRanges(DkmWorkList, DkmModuleInstance, DkmInstructionAddress, DkmSteppingRangeBoundary, Boolean, DkmCompletionRoutine<DkmGetSteppingRangesAsyncResult>)

Queries the symbol provider to determine the ranges of instructions which the base debug monitor should step through to implement a step.

This method will append a new work item to the specified work list, and return once the work item has been appended. The actual processing of the work item is asynchronous. The caller will be notified that the request is complete through the completion routine.

Location constraint: API must be called from a Monitor component (component level < 100,000).

This API was introduced in Visual Studio 14 RTM (DkmApiVersion.VS14RTM).

public void GetSteppingRanges(Microsoft.VisualStudio.Debugger.DkmWorkList WorkList, Microsoft.VisualStudio.Debugger.DkmModuleInstance ModuleInstance, Microsoft.VisualStudio.Debugger.DkmInstructionAddress? StepStartingAddress, Microsoft.VisualStudio.Debugger.Symbols.DkmSteppingRangeBoundary RangeBoundary, bool IncludeInline, Microsoft.VisualStudio.Debugger.DkmCompletionRoutine<Microsoft.VisualStudio.Debugger.Symbols.DkmGetSteppingRangesAsyncResult> CompletionRoutine);
override this.GetSteppingRanges : Microsoft.VisualStudio.Debugger.DkmWorkList * Microsoft.VisualStudio.Debugger.DkmModuleInstance * Microsoft.VisualStudio.Debugger.DkmInstructionAddress * Microsoft.VisualStudio.Debugger.Symbols.DkmSteppingRangeBoundary * bool * Microsoft.VisualStudio.Debugger.DkmCompletionRoutine<Microsoft.VisualStudio.Debugger.Symbols.DkmGetSteppingRangesAsyncResult> -> unit
Public Sub GetSteppingRanges (WorkList As DkmWorkList, ModuleInstance As DkmModuleInstance, StepStartingAddress As DkmInstructionAddress, RangeBoundary As DkmSteppingRangeBoundary, IncludeInline As Boolean, CompletionRoutine As DkmCompletionRoutine(Of DkmGetSteppingRangesAsyncResult))

Parameters

WorkList
DkmWorkList

WorkList to append the new work item to.

ModuleInstance
DkmModuleInstance

[In] Module instance which contains the current instruction symbol.

StepStartingAddress
DkmInstructionAddress

[In,Optional] Instruction where the step began. May be null in unusual situations, such as beginning the step with no frames on the stack. Note that this is not necessarily a native instruction.

RangeBoundary
DkmSteppingRangeBoundary

[In] Indicates to the symbol provider the type of instructions to include in the 'no-step' regions.

IncludeInline
Boolean

[In] True if the symbol provider should stop the stepping range when it encounters an inline functions. False otherwise. The Native DM will pass true for a step in so steps will stop in inline functions. It will pass false when doing a step-over so the stepper will not stop in inline functions.

CompletionRoutine
DkmCompletionRoutine<DkmGetSteppingRangesAsyncResult>

Routine to fire when the request is complete. If the request is successfully appended to the work list, this will always fire (including when the operation is canceled). This will never fire if appending the work item fails.

Applies to