DkmNativeInstructionSymbol.GetSteppingRanges 方法

定义

重载

GetSteppingRanges(DkmModuleInstance, DkmInstructionAddress, DkmSteppingRangeBoundary, Boolean)

查询符号提供程序以确定基本调试监视器为实现步骤而应单步执行的说明范围。

位置约束:必须从监视组件 (组件级别 < 100,000) 调用 API。

此 API 是在 Visual Studio 14 RTM (DkmApiVersion.VS14RTM) 中引入的。

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

查询符号提供程序以确定基本调试监视器为实现步骤而应单步执行的说明范围。

此方法会将新工作项追加到指定的工作列表,并在追加工作项后返回 。 工作项的实际处理是异步的。 将通过完成例程通知调用方请求已完成。

位置约束:必须从监视组件 (组件级别 < 100,000) 调用 API。

此 API 是在 Visual Studio 14 RTM (DkmApiVersion.VS14RTM) 中引入的。

GetSteppingRanges(DkmModuleInstance, DkmInstructionAddress, DkmSteppingRangeBoundary, Boolean)

查询符号提供程序以确定基本调试监视器为实现步骤而应单步执行的说明范围。

位置约束:必须从监视组件 (组件级别 < 100,000) 调用 API。

此 API 是在 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()

参数

ModuleInstance
DkmModuleInstance

[In]包含当前指令符号的模块实例。

StepStartingAddress
DkmInstructionAddress

[In,Optional]说明步骤的开始位置。 在异常情况下可能为 null,例如在堆栈上没有帧的情况下开始执行步骤。 请注意,这不一定是本机指令。

RangeBoundary
DkmSteppingRangeBoundary

[In]向符号提供程序指示要包含在“无步骤”区域中的指令类型。

IncludeInline
Boolean

[In]如此 如果符号提供程序在遇到内联函数时应停止步进范围。 否则为 False。 本机 DM 将为 中的步骤传递 true,因此步骤将停止在内联函数中。 执行单步执行时,它会传递 false,因此步进器不会在内联函数中停止。

返回

[Out]要单步执行的范围数组。 如果给定指令没有源信息,则此数组将为空。

适用于

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

查询符号提供程序以确定基本调试监视器为实现步骤而应单步执行的说明范围。

此方法会将新工作项追加到指定的工作列表,并在追加工作项后返回 。 工作项的实际处理是异步的。 将通过完成例程通知调用方请求已完成。

位置约束:必须从监视组件 (组件级别 < 100,000) 调用 API。

此 API 是在 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))

参数

WorkList
DkmWorkList

要向其追加新工作项的 WorkList。

ModuleInstance
DkmModuleInstance

[In]包含当前指令符号的模块实例。

StepStartingAddress
DkmInstructionAddress

[In,Optional]说明步骤的开始位置。 在异常情况下可能为 null,例如在堆栈上没有帧的情况下开始执行步骤。 请注意,这不一定是本机指令。

RangeBoundary
DkmSteppingRangeBoundary

[In]向符号提供程序指示要包含在“无步骤”区域中的指令类型。

IncludeInline
Boolean

[In]如此 如果符号提供程序在遇到内联函数时应停止步进范围。 否则为 False。 本机 DM 将为 中的步骤传递 true,因此步骤将停止在内联函数中。 执行单步执行时,它会传递 false,因此步进器不会在内联函数中停止。

CompletionRoutine
DkmCompletionRoutine<DkmGetSteppingRangesAsyncResult>

请求完成时触发的例程。 如果请求成功追加到工作列表,则始终会触发 (包括何时取消操作) 。 如果追加工作项失败,则永远不会触发此操作。

适用于