DkmClrNcInstructionAddress.Create Method

Definition

Create a new DkmClrNcInstructionAddress object instance.

This API was introduced in Visual Studio 15 Update 6 (DkmApiVersion.VS15Update6).

public:
 static Microsoft::VisualStudio::Debugger::Clr::NativeCompilation::DkmClrNcInstructionAddress ^ Create(Microsoft::VisualStudio::Debugger::Clr::DkmClrMethodId MethodId, System::UInt32 NativeOffset, System::UInt32 ILOffset, Microsoft::VisualStudio::Debugger::Clr::NativeCompilation::DkmClrNcRuntimeInstance ^ RuntimeInstance, Microsoft::VisualStudio::Debugger::Clr::NativeCompilation::DkmClrNcModuleInstance ^ ModuleInstance, Microsoft::VisualStudio::Debugger::Clr::NativeCompilation::DkmClrNcContainerModuleInstance ^ ContainerModule, System::Collections::ObjectModel::ReadOnlyCollection<System::Byte> ^ GenericParameters, int ReferenceToken, Microsoft::VisualStudio::Debugger::DkmInstructionAddress::CPUInstruction ^ CPUInstruction);
public static Microsoft.VisualStudio.Debugger.Clr.NativeCompilation.DkmClrNcInstructionAddress Create (Microsoft.VisualStudio.Debugger.Clr.DkmClrMethodId MethodId, uint NativeOffset, uint ILOffset, Microsoft.VisualStudio.Debugger.Clr.NativeCompilation.DkmClrNcRuntimeInstance RuntimeInstance, Microsoft.VisualStudio.Debugger.Clr.NativeCompilation.DkmClrNcModuleInstance ModuleInstance, Microsoft.VisualStudio.Debugger.Clr.NativeCompilation.DkmClrNcContainerModuleInstance ContainerModule, System.Collections.ObjectModel.ReadOnlyCollection<byte> GenericParameters, int ReferenceToken, Microsoft.VisualStudio.Debugger.DkmInstructionAddress.CPUInstruction CPUInstruction);
public static Microsoft.VisualStudio.Debugger.Clr.NativeCompilation.DkmClrNcInstructionAddress Create (Microsoft.VisualStudio.Debugger.Clr.DkmClrMethodId MethodId, uint NativeOffset, uint ILOffset, Microsoft.VisualStudio.Debugger.Clr.NativeCompilation.DkmClrNcRuntimeInstance RuntimeInstance, Microsoft.VisualStudio.Debugger.Clr.NativeCompilation.DkmClrNcModuleInstance ModuleInstance, Microsoft.VisualStudio.Debugger.Clr.NativeCompilation.DkmClrNcContainerModuleInstance ContainerModule, System.Collections.ObjectModel.ReadOnlyCollection<byte>? GenericParameters, int ReferenceToken, Microsoft.VisualStudio.Debugger.DkmInstructionAddress.CPUInstruction? CPUInstruction);
static member Create : Microsoft.VisualStudio.Debugger.Clr.DkmClrMethodId * uint32 * uint32 * Microsoft.VisualStudio.Debugger.Clr.NativeCompilation.DkmClrNcRuntimeInstance * Microsoft.VisualStudio.Debugger.Clr.NativeCompilation.DkmClrNcModuleInstance * Microsoft.VisualStudio.Debugger.Clr.NativeCompilation.DkmClrNcContainerModuleInstance * System.Collections.ObjectModel.ReadOnlyCollection<byte> * int * Microsoft.VisualStudio.Debugger.DkmInstructionAddress.CPUInstruction -> Microsoft.VisualStudio.Debugger.Clr.NativeCompilation.DkmClrNcInstructionAddress
Public Shared Function Create (MethodId As DkmClrMethodId, NativeOffset As UInteger, ILOffset As UInteger, RuntimeInstance As DkmClrNcRuntimeInstance, ModuleInstance As DkmClrNcModuleInstance, ContainerModule As DkmClrNcContainerModuleInstance, GenericParameters As ReadOnlyCollection(Of Byte), ReferenceToken As Integer, CPUInstruction As DkmInstructionAddress.CPUInstruction) As DkmClrNcInstructionAddress

Parameters

MethodId
DkmClrMethodId

[In] The version/token pair for this method.

NativeOffset
UInt32

[In] For the standard .NET Framework, NativeOffset is a byte offset relative to start of the method where the CPU instruction can be found. For the purpose of this value, the method should be treated as a contiguous block of bytes. If the method has not been Just-in-time compiled or if this address is being used to refer purely to the IL address, NativeOffset will be set to UInt32.MaxValue.

For native-compiled .NET Framework modules, this value is the RVA of the native instruction in the module.

ILOffset
UInt32

[In] ILOffset is the index of the IL instruction that this address represents. This value may be set to UInt32.MaxValue for an instruction that is within the given method, but not tied to a particular IL instruction. This is used for CLR native instructions that don't map to an IL instruction. (ICorDebugILFrame::GetIP indicates MAPPING_UNMAPPED_ADDRESS).

RuntimeInstance
DkmClrNcRuntimeInstance

[In] Represents a native-compiled CLR instance running in a target process.

ModuleInstance
DkmClrNcModuleInstance

[In] The managed module containing the InstructionPointer.

ContainerModule
DkmClrNcContainerModuleInstance

[In] The underlying container module (on-disk module) where this address is loaded. Symbols (DkmModule) are accessed through this module instead of 'ModuleInstance'.

GenericParameters
ReadOnlyCollection<Byte>

[In,Optional] For generic methods, this provides the ECMA formatted TypeSpec signature for each generic parameter. For non-generic methods, this will be null. For non-merged modules this is relative to the mapping (or pseudo-IL assembly).

ReferenceToken
Int32

[In,Optional] In a multi-module assembly, MethodId.Token is a method token resolved to the appropriate virtual module. This token is can be looked up in the pseudo- assembly.

CPUInstruction
DkmInstructionAddress.CPUInstruction

[In,Optional] CPUInstruction provides the address that the CPU will execute. This is always provided for native instructions. It may be provided for CLR or custom addresses depending on how the address object was created.

Returns

[Out] Result of this method call.

Applies to