IDkmNativeSymbolProviderCallback120a.GetSteppingRanges Method
Definition
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.
Queries the symbol provider to determine the ranges of instructions which the base debug monitor should step through to implement a step.
public:
cli::array <Microsoft::VisualStudio::Debugger::Symbols::DkmSteppingRange> ^ GetSteppingRanges(Microsoft::VisualStudio::Debugger::Native::DkmNativeInstructionSymbol ^ nativeInstruction, 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.Native.DkmNativeInstructionSymbol nativeInstruction, 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.Native.DkmNativeInstructionSymbol nativeInstruction, Microsoft.VisualStudio.Debugger.DkmModuleInstance moduleInstance, Microsoft.VisualStudio.Debugger.DkmInstructionAddress? stepStartingAddress, Microsoft.VisualStudio.Debugger.Symbols.DkmSteppingRangeBoundary rangeBoundary, bool includeInline);
abstract member GetSteppingRanges : Microsoft.VisualStudio.Debugger.Native.DkmNativeInstructionSymbol * Microsoft.VisualStudio.Debugger.DkmModuleInstance * Microsoft.VisualStudio.Debugger.DkmInstructionAddress * Microsoft.VisualStudio.Debugger.Symbols.DkmSteppingRangeBoundary * bool -> Microsoft.VisualStudio.Debugger.Symbols.DkmSteppingRange[]
Public Function GetSteppingRanges (nativeInstruction As DkmNativeInstructionSymbol, moduleInstance As DkmModuleInstance, stepStartingAddress As DkmInstructionAddress, rangeBoundary As DkmSteppingRangeBoundary, includeInline As Boolean) As DkmSteppingRange()
Parameters
- nativeInstruction
- DkmNativeInstructionSymbol
[In] DkmNativeInstructionSymbol represents a native instruction within a module of the target process. DkmNativeInstructionSymbol are 1:1 with the underlying native instructions. So if there are two template instantiations of a method (ex: MyMethod<CString> and MyMethod<int>) if the linker merges the two instantiations into a single function through COMDAT folding then the methods will be identical. If the linker isn't able to merge the two instantiations then both user-level functions will appear as one DkmNativeInstructionSymbol.
- 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.