DkmClrInstructionAddress.Create(DkmClrRuntimeInstance, DkmClrModuleInstance, DkmClrMethodId, UInt32, UInt32, DkmInstructionAddress+CPUInstruction) Methode

Definition

Erstellen Sie eine neue dkmclrinstructionaddress-Objektinstanz.

public:
 static Microsoft::VisualStudio::Debugger::Clr::DkmClrInstructionAddress ^ Create(Microsoft::VisualStudio::Debugger::Clr::DkmClrRuntimeInstance ^ RuntimeInstance, Microsoft::VisualStudio::Debugger::Clr::DkmClrModuleInstance ^ ModuleInstance, Microsoft::VisualStudio::Debugger::Clr::DkmClrMethodId MethodId, System::UInt32 NativeOffset, System::UInt32 ILOffset, Microsoft::VisualStudio::Debugger::DkmInstructionAddress::CPUInstruction ^ CPUInstruction);
public static Microsoft.VisualStudio.Debugger.Clr.DkmClrInstructionAddress Create (Microsoft.VisualStudio.Debugger.Clr.DkmClrRuntimeInstance RuntimeInstance, Microsoft.VisualStudio.Debugger.Clr.DkmClrModuleInstance ModuleInstance, Microsoft.VisualStudio.Debugger.Clr.DkmClrMethodId MethodId, uint NativeOffset, uint ILOffset, Microsoft.VisualStudio.Debugger.DkmInstructionAddress.CPUInstruction CPUInstruction);
static member Create : Microsoft.VisualStudio.Debugger.Clr.DkmClrRuntimeInstance * Microsoft.VisualStudio.Debugger.Clr.DkmClrModuleInstance * Microsoft.VisualStudio.Debugger.Clr.DkmClrMethodId * uint32 * uint32 * Microsoft.VisualStudio.Debugger.DkmInstructionAddress.CPUInstruction -> Microsoft.VisualStudio.Debugger.Clr.DkmClrInstructionAddress
Public Shared Function Create (RuntimeInstance As DkmClrRuntimeInstance, ModuleInstance As DkmClrModuleInstance, MethodId As DkmClrMethodId, NativeOffset As UInteger, ILOffset As UInteger, CPUInstruction As DkmInstructionAddress.CPUInstruction) As DkmClrInstructionAddress

Parameter

RuntimeInstance
DkmClrRuntimeInstance

In Stellt eine CLR-Instanz dar, die in einem Ziel Prozess ausgeführt wird.

ModuleInstance
DkmClrModuleInstance

In Das Modul, das den instructionpointer enthält.

MethodId
DkmClrMethodId

In Das Versions-/tokenpaar für diese Methode.

NativeOffset
UInt32

In Bei der Standard .NET Framework ist nativeoffset ein Byte Offset relativ zum Anfang der Methode, in der die CPU-Anweisung gefunden werden kann. Für diesen Wert sollte die-Methode als zusammenhängender Block von Bytes behandelt werden. Wenn die Methode nicht Just-in-Time kompiliert wurde oder diese Adresse verwendet wird, um ausschließlich auf die Il-Adresse zu verweisen, wird nativeoffset auf UInt32. MaxValue festgelegt.

Bei systemeigenen kompilierten .NET Framework Modulen ist dieser Wert die RVA der systemeigenen Anweisung im Modul.

ILOffset
UInt32

In IlOffset ist der Index der IL-Anweisung, die diese Adresse darstellt. Dieser Wert kann auf UInt32. MaxValue für eine Anweisung festgelegt werden, die sich innerhalb der angegebenen Methode befindet, aber nicht an eine bestimmte Il-Anweisung gebunden ist. Dies wird für Native CLR-Anweisungen verwendet, die keiner Il-Anweisung zugeordnet werden. (ICorDebugILFrame:: GetIP gibt MAPPING_UNMAPPED_ADDRESS) an.

CPUInstruction
DkmInstructionAddress.CPUInstruction

[In, optional] Cpuinstruction stellt die Adresse bereit, die von der CPU ausgeführt wird. Dies wird immer für Native Anweisungen bereitgestellt. Sie kann für CLR-oder benutzerdefinierte Adressen bereitgestellt werden, je nachdem, wie das Adress Objekt erstellt wurde.

Gibt zurück

DkmClrInstructionAddress

Vorgenommen Ergebnis dieses Methoden Aufrufes.

Gilt für