DkmClrNcInstructionAddress.Create 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.
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.