IDkmNativeSymbolProviderCallback120a.GetSteppingNativeInstructionMetadata Method

Definition

Called by the native DM to fetch data about an instruction which is used to decide how this instruction should be stepped.

public:
 Microsoft::VisualStudio::Debugger::Native::DkmNativeAddressMetadata ^ GetSteppingNativeInstructionMetadata(Microsoft::VisualStudio::Debugger::Native::DkmNativeInstructionSymbol ^ nativeInstruction, Microsoft::VisualStudio::Debugger::DkmModuleInstance ^ moduleInstance, Microsoft::VisualStudio::Debugger::DkmInstructionAddress ^ stepStartingAddress);
public Microsoft.VisualStudio.Debugger.Native.DkmNativeAddressMetadata GetSteppingNativeInstructionMetadata (Microsoft.VisualStudio.Debugger.Native.DkmNativeInstructionSymbol nativeInstruction, Microsoft.VisualStudio.Debugger.DkmModuleInstance moduleInstance, Microsoft.VisualStudio.Debugger.DkmInstructionAddress stepStartingAddress);
public Microsoft.VisualStudio.Debugger.Native.DkmNativeAddressMetadata? GetSteppingNativeInstructionMetadata (Microsoft.VisualStudio.Debugger.Native.DkmNativeInstructionSymbol nativeInstruction, Microsoft.VisualStudio.Debugger.DkmModuleInstance moduleInstance, Microsoft.VisualStudio.Debugger.DkmInstructionAddress? stepStartingAddress);
abstract member GetSteppingNativeInstructionMetadata : Microsoft.VisualStudio.Debugger.Native.DkmNativeInstructionSymbol * Microsoft.VisualStudio.Debugger.DkmModuleInstance * Microsoft.VisualStudio.Debugger.DkmInstructionAddress -> Microsoft.VisualStudio.Debugger.Native.DkmNativeAddressMetadata
Public Function GetSteppingNativeInstructionMetadata (nativeInstruction As DkmNativeInstructionSymbol, moduleInstance As DkmModuleInstance, stepStartingAddress As DkmInstructionAddress) As DkmNativeAddressMetadata

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.

Returns

[Out,Optional] DkmNativeAddressMetadata represents symbol based metadata about addresses. This includes if the address is a thunk, a prolog, or a trampoline.

Applies to