DkmClrNcInstructionAddress.Create(DkmClrMethodId, UInt32, UInt32, DkmClrNcRuntimeInstance, DkmClrNcModuleInstance, DkmClrNcContainerModuleInstance, ReadOnlyCollection<Byte>, Int32, DkmInstructionAddress+CPUInstruction) Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Создайте новый экземпляр объекта ДкмклрнЦинструктионаддресс.
Этот API появился в Visual Studio 15 с обновлением 6 (Дкмапиверсион. 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);
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
Параметры
- MethodId
- DkmClrMethodId
Окне Пара версий и маркеров для этого метода.
- NativeOffset
- UInt32
Окне Для стандартных платформа .NET Framework Нативеоффсет — это смещение в байтах относительно начала метода, в котором можно найти инструкцию ЦП. В целях этого значения метод должен рассматриваться как непрерывный блок байтов. Если метод не был JIT-скомпилирован или этот адрес используется для ссылки исключительно на IL-адрес, Нативеоффсет будет иметь значение UInt32. MaxValue.
Для модулей платформа .NET Framework, скомпилированных в машинный код, это значение является RVA для собственной инструкции в модуле.
- ILOffset
- UInt32
Окне Смещениеil — это индекс инструкции IL, которую представляет этот адрес. Это значение может быть задано как UInt32. MaxValue для инструкции, которая находится в данном методе, но не привязана к определенной инструкции IL. Используется для машинных инструкций CLR, которые не сопоставляются с инструкцией IL. (ICorDebugILFrame:: GetIP указывает MAPPING_UNMAPPED_ADDRESS).
- RuntimeInstance
- DkmClrNcRuntimeInstance
Окне Представляет скомпилированный в машинный код экземпляр CLR, выполняющийся в целевом процессе.
- ModuleInstance
- DkmClrNcModuleInstance
Окне Управляемый модуль, содержащий Инструктионпоинтер.
- ContainerModule
- DkmClrNcContainerModuleInstance
Окне Базовый модуль контейнера (модуль на диске), на котором загружается этот адрес. Доступ к символам (Дкммодуле) осуществляется через этот модуль вместо "Модулеинстанце".
- GenericParameters
- ReadOnlyCollection<Byte>
[Входные, необязательные] Для универсальных методов это предоставляет подпись TypeSpec с отформатированным ECMA для каждого универсального параметра. Для методов, не являющихся универсальными, это значение будет равно null. Для модулей, не являющихся объединенными, это относится к сопоставлению (или сборке псевдо-IL).
- ReferenceToken
- Int32
[Входные, необязательные] В сборке с несколькими модулями Месодид. Token — это маркер метода, который разрешается в соответствующий виртуальный модуль. Этот маркер можно найти в псевдо-сборке.
- CPUInstruction
- DkmInstructionAddress.CPUInstruction
[Входные, необязательные] Кпуинструктион предоставляет адрес, который будет выполняться ЦП. Это всегда предоставляется для собственных инструкций. Он может быть предоставлен для среды CLR или настраиваемых адресов в зависимости от способа создания объекта Address.
Возвращаемое значение
Заполняет Результат вызова этого метода.