DkmNativeDwarfRuntimeInstance Класс

Определение

Класс Дкмнативедварфрунтимеинстанце представляет собственную среду выполнения внутри модулей с символами DWARF.

Этот API появился в Visual Studio 16 с обновлением 5 (Дкмапиверсион. VS16Update5).

public ref class DkmNativeDwarfRuntimeInstance : Microsoft::VisualStudio::Debugger::DkmRuntimeInstance
[System.Runtime.InteropServices.Guid("0c99ab83-0204-5a5f-64a9-239afb51e309")]
public class DkmNativeDwarfRuntimeInstance : Microsoft.VisualStudio.Debugger.DkmRuntimeInstance
[<System.Runtime.InteropServices.Guid("0c99ab83-0204-5a5f-64a9-239afb51e309")>]
type DkmNativeDwarfRuntimeInstance = class
    inherit DkmRuntimeInstance
Public Class DkmNativeDwarfRuntimeInstance
Inherits DkmRuntimeInstance
Наследование
Атрибуты

Свойства

Capabilities

Перечисление возможностей среды выполнения.

         Этот API появился в Visual Studio 12 RTM (Дкмапиверсион. VS12RTM).
(Унаследовано от DkmRuntimeInstance)
Connection

Это представляет собой соединение между монитором и интегрированной средой разработки. Это может быть локальное подключение, если монитор выполняется в том же процессе, что и интегрированная среда разработки, или удаленное подключение. В процессе мониторинга существует только одно соединение.

(Унаследовано от DkmRuntimeInstance)
Id

Определяет объект Дкмрунтимеинстанце внутри процесса.

(Унаследовано от DkmRuntimeInstance)
IsUnloaded

Возвращает значение true, если для данного объекта было вызвано событие "выгружено" (например, вызывается метод Дкмсреад:: Unload), или значение, если объект был закрыт. Обратите внимание, что необходимо использовать осторожность при проверке этого состояния как, без синхронизации, возвращаемое состояние может больше не быть точным после считывания инструкции.

(Унаследовано от DkmDataContainer)
ParentRuntime

Используемых Для сред выполнения, реализованных поверх другой среды выполнения, при необходимости можно использовать для индикант логического родителя. Затем он может использоваться для запроса служб от родительского объекта, когда дочерняя среда выполнения не реализует службу. В настоящее время этот параметр используется только для получения верхнего кадра стека, чтобы оценить условную точку останова, когда дочерняя среда выполнения не просматривает саму себя в стеке.

Этот API появился в Visual Studio 12 RTM (Дкмапиверсион. VS12RTM).

(Унаследовано от DkmRuntimeInstance)
Process

Дкмпроцесс представляет целевой процесс, который отлаживается. Отладчик выполняет обработку ошибок, поэтому это основная единица отладки. Дкмпроцесс может представлять системный процесс или виртуальный процесс, например Мини-дампы.

(Унаследовано от DkmRuntimeInstance)
TagValue

Дкмрунтимеинстанце является абстрактным базовым классом. Это перечисление указывает, какой производный класс этот объект является экземпляром.

(Унаследовано от DkmRuntimeInstance)

Методы

AfterSteppingArbitration(DkmStepper, DkmStepArbitrationReason, DkmRuntimeInstance)

Афтерстеппингарбитратион вызывается диспетчером пошагового выполнения для старого управляющего экземпляра исполняющей среды после завершения пошагового арбитража, но до того, как следующий экземпляр среды выполнения начнет пошаговое выполнение. Это позволяет средам выполнения очищать любое пошаговое состояние, если управление занимает другая среда выполнения. Если никакие другие мониторы среды выполнения не задали текущее расположение, исходный монитор должен завершить шаг. Это означает, что Невконтроллингрунтимеинстанце имеет значение null. Например, экземпляр среды выполнения может выбрать шаг отката, если шаг выполняется в месте без символов, а другие среды выполнения не управляются.

Ограничение расположения: API должен вызываться из компонента монитора (уровень компонентов < 100 000).

(Унаследовано от DkmRuntimeInstance)
BeforeEnableNewStepper(DkmStepper)

Бефоринабленевстеппер вызывается диспетчером пошагового выполнения до включения нового режима Организации. Это дает среде выполнения возможность выполнять любую инициализацию, которая может потребоваться, например выполнение предварительных оценок функций.

Ограничение расположения: API должен вызываться из компонента монитора (уровень компонентов < 100 000).

(Унаследовано от DkmRuntimeInstance)
Create(DkmProcess, DkmRuntimeInstanceId, DkmRuntimeCapabilities, DkmRuntimeInstance, DkmDataItem)

Создает новый объект экземпляра среды выполнения из монитора отладки. Этот метод должен вызываться из потока событий, когда монитор отладки обнаруживает, что новый экземпляр среды выполнения загружен (например, когда соответствующая DLL-библиотека среды выполнения загружается в целевой процесс).

Этот метод будет отсылать событие Рунтимеинстанцелоад.

Ограничение расположения: API должен вызываться из компонента монитора (уровень компонентов < 100 000).

Этот API появился в Visual Studio 16 с обновлением 5 (Дкмапиверсион. VS16Update5).

Disassemble(DkmInstructionAddress, UInt32)

Расформирование диапазона адресов в отладочной среде выполнения.

Ограничение расположения: API должен вызываться из компонента IDE (уровень компонентов > 100 000).

Этот API появился в Visual Studio 12 RTM (Дкмапиверсион. VS12RTM).

(Унаследовано от DkmRuntimeInstance)
FindModulesByName(String)

Этот метод возвращает все модули, соответствующие заданному имени.

(Унаследовано от DkmRuntimeInstance)
GetCodePathsInRange(ICorDebugFrame, UInt32, UInt32)

Жеткодепассинранже вызывается для получения путей кода в определенном диапазоне IL.

         Ограничение расположения: его следует вызывать только на стороне сервера.

         Этот API появился в Visual Studio 12 RTM (Дкмапиверсион. VS12RTM).
(Унаследовано от DkmRuntimeInstance)
GetDataItem<T>()

Возвращает экземпляр элемента "t", который был добавлен в этот экземпляр контейнера. Если этот контейнер не содержит 'T, эта функция возвратит значение null.

(Унаследовано от DkmDataContainer)
GetInstructionAddress(DkmInstructionAddress, Int32)

Возвращает адрес инструкции КС относительно начального адреса. Для наборов инструкций с постоянной длиной это простая арифметическая операция. Для наборов инструкций переменной длины для получения этого адреса требуется обратный дизассемблирование.

Ограничение расположения: API должен вызываться из компонента IDE (уровень компонентов > 100 000).

Этот API появился в Visual Studio 12 RTM (Дкмапиверсион. VS12RTM).

(Унаследовано от DkmRuntimeInstance)
GetManagedHeapSamplers()

Жетманажедхеапсамплерс перечисляет элементы Дкмманажедхеапсамплер этого объекта Дкмрунтимеинстанце.

Этот API появился в Visual Studio 12 RTM (Дкмапиверсион. VS12RTM).

(Унаследовано от DkmRuntimeInstance)
GetManagedHeapWalkers()

Жетманажедхеапвалкерс перечисляет элементы Дкмманажедхеапвалкер этого объекта Дкмрунтимеинстанце.

Этот API появился в Visual Studio 12 RTM (Дкмапиверсион. VS12RTM).

(Унаследовано от DkmRuntimeInstance)
GetModuleInstances()

Жетмодулеинстанцес перечисляет элементы Дкммодулеинстанце этого объекта Дкмрунтимеинстанце.

(Унаследовано от DkmRuntimeInstance)
GetScriptDocumentTreeNodes()

Жетскриптдокументтринодес перечисляет элементы Дкмскриптдокументтриноде этого объекта Дкмрунтимеинстанце.

(Унаследовано от DkmRuntimeInstance)
GetSymbolNameForAddress(DkmWorkList, UInt64, DkmCompletionRoutine<DkmGetSymbolNameForAddressAsyncResult>)

Возвращает имя символа для указанного адреса, используя сведения о времени выполнения вместо символов. В настоящее время это реализовано только для экземпляра среды выполнения CLR.

Этот метод добавляет новый рабочий элемент в указанный список работ и возвращается после добавления рабочего элемента. Фактическая обработка рабочего элемента выполняется асинхронно. Вызывающий объект будет уведомлен о завершении выполнения запроса через подпрограмму завершения.

Ограничение расположения: API должен вызываться из компонента IDE (уровень компонентов > 100 000).

Этот API появился в Visual Studio 16 с обновлением 7 (Дкмапиверсион. VS16Update7).

(Унаследовано от DkmRuntimeInstance)
GetTaskProviders()

Жеттаскпровидерс перечисляет элементы Дкмтаскпровидер этого объекта Дкмрунтимеинстанце.

(Унаследовано от DkmRuntimeInstance)
GetThreadDisplayProperties(DkmWorkList, DkmThread, DkmCompletionRoutine<DkmGetThreadDisplayPropertiesAsyncResult>)

Возвращает отображаемые свойства потока, включая отображаемое имя и категорию потока.

Этот метод добавляет новый рабочий элемент в указанный список работ и возвращается после добавления рабочего элемента. Фактическая обработка рабочего элемента выполняется асинхронно. Вызывающий объект будет уведомлен о завершении выполнения запроса через подпрограмму завершения.

Ограничение расположения: API должен вызываться из компонента IDE (уровень компонентов > 100 000).

(Унаследовано от DkmRuntimeInstance)
GetThreadName(DkmThread)

Вычисление имени потока.

(Унаследовано от DkmRuntimeInstance)
GetThreadName(DkmWorkList, DkmThread, DkmCompletionRoutine<DkmGetThreadNameAsyncResult>)

Вычисление имени потока.

Этот метод добавляет новый рабочий элемент в указанный список работ и возвращается после добавления рабочего элемента. Фактическая обработка рабочего элемента выполняется асинхронно. Вызывающий объект будет уведомлен о завершении выполнения запроса через подпрограмму завершения.

(Унаследовано от DkmRuntimeInstance)
NotifyStepComplete(DkmStepper)

Нотифистепкомплете вызывается диспетчером степпинга для всех экземпляров среды выполнения, не контролирующих управление, после завершения шага.

Ограничение расположения: API должен вызываться из компонента монитора (уровень компонентов < 100 000).

(Унаследовано от DkmRuntimeInstance)
OnLoadComplete()

Этот метод вызывается монитором отладки для вызова события Рунтимеинстанцелоадкомплете. Рунтимеинстанцелоадкомплете в настоящее время отправляется только для собственного экземпляра среды выполнения, хотя в будущем это может измениться. Событие выдается после создания объектов Дкммодулеинстанце для начального набора модулей в экземпляре среды выполнения.

Этот метод может вызываться только компонентом, создавшим объект.

Этот API появился в Visual Studio 12 с обновлением 2 (Дкмапиверсион. VS12Update2).

(Унаследовано от DkmRuntimeInstance)
OnNewControllingRuntimeInstance(DkmStepper, DkmStepArbitrationReason, DkmRuntimeInstance)

Онневконтроллингрунтимеинстанце вызывается диспетчером степпинга во всех экземплярах среды выполнения, не контролирующих управление, после того как арбитраж пошагового выбора выбрал новый экземпляр управляющей среды выполнения.

Ограничение расположения: API должен вызываться из компонента монитора (уровень компонентов < 100 000).

(Унаследовано от DkmRuntimeInstance)
OwnsCurrentExecutionLocation(DkmStepper, DkmStepArbitrationReason)

Овнскуррентексекутионлокатион вызывается диспетчером пошагового выполнения во время поиска мониторов, чтобы выполнить шаг. Если текущее расположение в отлаживаемом объекте понятно этому монитору, оно может вернуть значение true, чтобы получить контроль над шагом.

Ограничение расположения: API должен вызываться из компонента монитора (уровень компонентов < 100 000).

(Унаследовано от DkmRuntimeInstance)
RemoveDataItem<T>()

Удалить экземпляр из этого контейнера. Обычно нет необходимости вызывать этот метод, так как контейнер данных будет автоматически очищаться при закрытии объекта.

(Унаследовано от DkmDataContainer)
ResolveCPUInstructionAddress(DkmWorkList, UInt64, DkmCompletionRoutine<DkmResolveCPUInstructionAddressAsyncResult>)

Разрешает Инструктионаддресс ЦП в объект Дкминструктионаддресс, зависящий от среды выполнения.

В настоящее время этот API поддерживается только объектами CLR Дкмрунтимеинстанце, и экземпляр среды выполнения CLR в настоящее время может находить только адреса инструкций, находящиеся в методе, который в данный момент находится в стеке вызовов одного из потоков целевого процесса.

Этот метод добавляет новый рабочий элемент в указанный список работ и возвращается после добавления рабочего элемента. Фактическая обработка рабочего элемента выполняется асинхронно. Вызывающий объект будет уведомлен о завершении выполнения запроса через подпрограмму завершения.

Ограничение расположения. Этот API обычно должен вызываться на клиенте, но его можно вызвать на сервере для преобразования адресов CLR (но не для компиляции в собственном формате).

(Унаследовано от DkmRuntimeInstance)
ResolveCPUInstructionAddress(UInt64, Boolean)

Разрешает Инструктионаддресс ЦП в объект Дкминструктионаддресс, зависящий от среды выполнения.

В настоящее время этот API поддерживается только объектами CLR Дкмрунтимеинстанце, и экземпляр среды выполнения CLR в настоящее время может находить только адреса инструкций, находящиеся в методе, который в данный момент находится в стеке вызовов одного из потоков целевого процесса.

Ограничение расположения. Этот API обычно должен вызываться на клиенте, но его можно вызвать на сервере для преобразования адресов CLR (но не для компиляции в собственном формате).

(Унаследовано от DkmRuntimeInstance)
SetDataItem<T>(DkmDataCreationDisposition, T)

Поместите новый элемент в контейнер данных.

(Унаследовано от DkmDataContainer)
SetRegisterValue(DkmStackWalkFrame, Int32, ReadOnlyCollection<Byte>)

Задает значение регистра в контексте потока. Поддерживаются подрегистры, состоящие из более крупных регистров.

(Унаследовано от DkmRuntimeInstance)
Step(DkmStepper, DkmStepArbitrationReason)

Шаг вызывается диспетчером пошагового выполнения после того, как он определит, что этот монитор является правильным монитором для выполнения этого шага.

Ограничение расположения: API должен вызываться из компонента монитора (уровень компонентов < 100 000).

(Унаследовано от DkmRuntimeInstance)
StepControlRequested(DkmStepper, DkmStepArbitrationReason, DkmRuntimeInstance)

Степконтролрекуестед вызывается диспетчером степпинга, когда неуправляемый экземпляр среды выполнения обнаруживает, что поток вызвал переход в свою среду выполнения. Если текущий управляемый экземпляр среды выполнения может прерывать выполнение, ему должно быть присвоено значение true. Фактический контроль не предоставляется до тех пор, пока запрашивающая среда выполнения не вызовет Дкмстеппер. Такестепконтрол. Этот процесс с двумя частями позволяет вызывающим объектам одновременно запрашивать Управление несколькими степпингами.

Ограничение расположения: API должен вызываться из компонента монитора (уровень компонентов < 100 000).

(Унаследовано от DkmRuntimeInstance)
StopStep(DkmStepper)

Стопстеп вызывается диспетчером пошагового выполнения, когда процесс продолжает удалять все оставшиеся пошаговые инструкции для пошагового выполнения.

Ограничение расположения: API должен вызываться из компонента монитора (уровень компонентов < 100 000).

(Унаследовано от DkmRuntimeInstance)
TakeStepControl(DkmStepper, Boolean, DkmStepArbitrationReason, DkmRuntimeInstance)

Такестепконтрол вызывается диспетчером степпинга, когда неуправляемый экземпляр среды выполнения обнаруживает, что поток вызвал переход в свою среду выполнения. Диспетчер пошагового выполнения перенаправит вызов в текущий Управляющий экземпляр исполняющей среды. Экземпляр среды выполнения, запрашивающий управление, должен сначала вызвать Степконтролрекуестед для всех шагов, которым требуется управлять. Если все они имеют значение true, то экземпляр среды выполнения должен вызывать этот метод в каждом способе управления.

Ограничение расположения: API должен вызываться из компонента монитора (уровень компонентов < 100 000).

(Унаследовано от DkmRuntimeInstance)
Unload()

Рунтимеинстанцеунлоад отправляется диспетчером при вызове Дкмрунтимеинстанце:: unload с помощью монитора.

Этот метод может вызываться только компонентом, создавшим объект.

(Унаследовано от DkmRuntimeInstance)

Применяется к