DkmNativeInstructionSymbol.GetSteppingRanges 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
查询符号提供程序,以确定基本调试监视器应逐步执行的指令范围以实现步骤。
位置约束:必须从监视器组件 (组件级别 100000) 中调用 API < 。
此 API 是在 Visual Studio 14 RTM (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);
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()
参数
- ModuleInstance
- DkmModuleInstance
中包含当前指令符号的模块实例。
- StepStartingAddress
- DkmInstructionAddress
[In,可选]步骤开始的说明。 在异常情况下可能为 null,例如,在堆栈上开始没有帧的步骤。 请注意,这不一定是本机指令。
- RangeBoundary
- DkmSteppingRangeBoundary
中向符号提供程序指示要包含在 "无步骤" 区域中的指令的类型。
- IncludeInline
- Boolean
中如果符号提供程序在遇到内联函数时应停止单步执行范围,则为 True。 否则为 False。 本机 DM 将为中的步骤传递 true,因此步骤会在内联函数中停止。 这会在执行逐步骤时传递 false,因此分档器不会在内联函数中停止。
返回
弄要单步执行的范围的数组。 如果给定指令没有源信息,此数组将为空。