Microsoft.VisualStudio.Debugger.ComponentInterfaces Пространство имен

Интерфейсы

IDkmActiveScriptDebugMonitor

Интерфейс, реализованный dm скрипта для предоставления прямого доступа к целевой среде выполнения скриптов.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, RuntimeId, TransportKind.

IDkmAfterSetNextStatementNotification

IDkmAfterSetNextStatementNotification реализуется компонентами, которые хотят получать уведомление после завершения следующей инструкции set.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId, TransportKind.

IDkmAppDomainCreatedNotification

IDkmAppDomainCreatedNotification реализуется компонентами, которые хотят прослушивать событие AppDomainCreated. При срабатывании этого уведомления целевой процесс будет приостановлен и может быть проверен. AppDomainCreated запускается при создании домена приложения целевым процессом.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, RuntimeId.

Этот API появился в Visual Studio 16 RTM (DkmApiVersion.VS16RTM).

IDkmAppDomainUnloadedNotification

IDkmAppDomainUnloadedNotification реализуется компонентами, которые хотят ожидать события AppDomainUnloaded. При срабатывании этого уведомления целевой процесс будет приостановлен и может быть проверен. AppDomainUnloaded запускается при выгрузке домена приложения целевым процессом.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, RuntimeId.

Этот API появился в Visual Studio 16 RTM (DkmApiVersion.VS16RTM).

IDkmAppPackageInfo

Интерфейс для перечисления сведений о пакете приложений в локальной или удаленной системе.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: TransportKind.

IDkmAsyncBreak

Этот интерфейс содержит API для выполнения асинхронного разрыва в процессе отладки.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, TransportKind.

IDkmAsyncBreakCompleteNotification

IDkmAsyncBreakCompleteNotification реализуется компонентами, которые хотят прослушивать событие AsyncBreakComplete. IDkmAsyncBreakCompleteNotification вызывается после всех реализаций IDkmAsyncBreakCompleteReceived. При вызове этого уведомления целевой процесс останавливается, и разработчики могут либо проверить процесс, либо вызвать его выполнение контролируемым образом (скольжение, func-eval).

Отправляется отладочным монитором после завершения запроса на асинхронное прерывание процесса.

События AsyncBreakComplete можно подавить, вызвав DkmEventDescriptorS.Suppress().

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, TransportKind.

IDkmAsyncBreakCompleteReceived

IDkmAsyncBreakCompleteReceived реализуется компонентами, которые хотят прослушивать событие AsyncBreakComplete. IDkmAsyncBreakCompleteReceived вызывается перед IDkmAsyncBreakCompleteNotification. В этом уведомлении невозможно выполнить целевой процесс (без func-eval, без скольжения).

Отправляется отладочным монитором после завершения запроса на асинхронное прерывание процесса.

События AsyncBreakComplete можно подавить, вызвав DkmEventDescriptorS.Suppress().

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, TransportKind.

IDkmAsyncStateMachineDecoder170

Предоставляет сведения на уровне метаданных о методах асинхронного конечного автомата.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId.

Этот API появился в Visual Studio 17 RTM (DkmApiVersion.VS17RTM).

IDkmAsyncTaskDecoder

Пошаговое руководство по стеку асинхронных вызовов и стеку создания задач.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: EngineId, RuntimeId, SymbolProviderId, TaskProviderId.

Этот API появился в Visual Studio 12 RTM (DkmApiVersion.VS12RTM).

IDkmBaseFuncEvalService

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

Этот интерфейс не предоставляется для отладки СРЕДЫ CLR версии 2.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, TransportKind.

IDkmBaseNativeExecutionController

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

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, TransportKind.

IDkmBeforeContinueExecutionNotification

Предоставляет уведомление о том, что процесс будет продолжен. Эта функция вызывается перед инициализацией соответствующих степеней, поэтому можно выполнять func-evals.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, TransportKind.

Этот API появился в Visual Studio 14 RTM (DkmApiVersion.VS14RTM).

IDkmBeforeStopDebuggingNotification

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

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, TransportKind.

Этот API появился в Visual Studio 14 RTM (DkmApiVersion.VS14RTM).

IDkmBinaryLoadedNotification

IDkmBinaryLoadedNotification реализуется компонентами, которые хотят прослушивать событие BinaryLoaded. При срабатывании этого уведомления целевой процесс будет приостановлен и может быть проверен. Указывает, что мы успешно загрузили двоичный файл модуля в отлаживаемом минидамбле.

События BinaryLoaded можно подавить, вызвав DkmEventDescriptorS.Suppress().

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId, TransportKind.

Этот API появился в Visual Studio 12 RTM (DkmApiVersion.VS12RTM).

IDkmBinaryLocator

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

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, TransportKind.

IDkmBinaryLocator11a

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

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, TransportKind.

Этот API появился в Visual Studio 11 с обновлением 1 (DkmApiVersion.VS11FeaturePack1).

IDkmBinaryReloadOpportunityNotification

IDkmBinaryReloadOpportunityNotification реализуется компонентами, которые хотят прослушивать событие BinaryReloadOpportunity. При срабатывании этого уведомления целевой процесс будет приостановлен и может быть проверен. Во время отладки минидампа, вызывается MinidumpBDM для перемещения двоичного файла, когда пользователь пытается загрузить двоичный файл вручную.

События BinaryReloadOpportunity можно подавить, вызвав DkmEventDescriptorS.Suppress().

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId, TransportKind.

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

IDkmBoundBreakpointHitNotification

IDkmBoundBreakpointHitNotification реализуется компонентами, которые хотят прослушивать событие BoundBreakpointHit. IDkmBoundBreakpointHitNotification вызывается после всех реализаций IDkmBoundBreakpointHitReceived. При вызове этого уведомления целевой процесс останавливается, и разработчики могут либо проверить процесс, либо вызвать его выполнение контролируемым образом (скольжение, func-eval).

Предоставляет уведомление о достижении привязанной точки останова (DkmBoundBreakpoint). Привязанные точки останова — это высокоуровневые объекты точек останова. Уведомление о низкоуровневых точках останова (DkmRuntimeBreakpoint) получается с помощью события RuntimeBreakpoint.

События BoundBreakpointHit можно подавить, вызвав DkmEventDescriptorS.Suppress().

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, CompilerVendorId, EngineId, LanguageId, SourceId.

IDkmBoundBreakpointHitReceived

IDkmBoundBreakpointHitReceived реализуется компонентами, которые хотят прослушивать событие BoundBreakpointHit. IDkmBoundBreakpointHitReceived вызывается перед IDkmBoundBreakpointHitNotification. В этом уведомлении невозможно выполнить целевой процесс (без func-eval, без скольжения).

Предоставляет уведомление о достижении привязанной точки останова (DkmBoundBreakpoint). Привязанные точки останова — это высокоуровневые объекты точек останова. Уведомление о низкоуровневых точках останова (DkmRuntimeBreakpoint) получается с помощью события RuntimeBreakpoint.

События BoundBreakpointHit можно подавить, вызвав DkmEventDescriptorS.Suppress().

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, CompilerVendorId, EngineId, LanguageId, SourceId.

IDkmBreakpointConditionProcessor

Интерфейс, реализованный на целевом компьютере для оценки условий точки останова и количества попаданий.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, RuntimeId, SourceId.

IDkmBreakpointConditionProcessorClient

Реализуется вызывающими средствами DkmRuntimeBreakpoint.SetCompiledConditionPending для предоставления скомпилированных условий при попадании в точку останова.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, RuntimeId, SourceId.

IDkmBreakpointConditionProcessorClient140

Реализуется вызывающими средствами DkmRuntimeBreakpoint.SetCompiledConditionPending для предоставления скомпилированных условий при попадании в точку останова.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, RuntimeId, SourceId.

Этот API появился в Visual Studio 14 RTM (DkmApiVersion.VS14RTM).

IDkmBreakpointConditionProcessorGpuExtension

Интерфейс расширения для отладки GPU, реализованный на целевом компьютере для обработки условий точки останова.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, RuntimeId, SourceId.

IDkmBreakpointConditionThreadSelectorForGpu

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

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, RuntimeId, SourceId.

Этот API появился в Visual Studio 11 с обновлением 1 (DkmApiVersion.VS11FeaturePack1).

IDkmBreakpointHitWithErrorNotification

IDkmBreakpointHitWithErrorNotification реализуется компонентами, которые хотят прослушивать событие BreakpointHitWithError. IDkmBreakpointHitWithErrorNotification вызывается после всех реализаций IDkmBreakpointHitWithErrorReceived. При вызове этого уведомления целевой процесс останавливается, и разработчики могут либо проверить процесс, либо вызвать его выполнение контролируемым образом (скольжение, func-eval).

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

События точки остановаHitWithError можно подавить, вызвав DkmEventDescriptorS.Suppress().

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, CompilerVendorId, EngineId, LanguageId, SourceId.

Этот API появился в Visual Studio 16 RTM (DkmApiVersion.VS16RTM).

IDkmBreakpointHitWithErrorReceived

IDkmBreakpointHitWithErrorReceived реализуется компонентами, которые хотят прослушивать событие BreakpointHitWithError. IDkmBreakpointHitWithErrorReceived вызывается перед IDkmBreakpointHitWithErrorNotification. В этом уведомлении невозможно выполнить целевой процесс (без func-eval, без скольжения).

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

События точки остановаHitWithError можно подавить, вызвав DkmEventDescriptorS.Suppress().

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, CompilerVendorId, EngineId, LanguageId, SourceId.

Этот API появился в Visual Studio 16 RTM (DkmApiVersion.VS16RTM).

IDkmBreakpointManager

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

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, CompilerVendorId, EngineId, LanguageId, SourceId.

IDkmBreakpointManagerFileUpdate

Интерфейс реализуется диспетчерами точек останова, которые хотят получать уведомления при обновлении файлов в интегрированной среде разработки.

Реализации этого интерфейса вызываются всегда (фильтрация не поддерживается). Чтобы уменьшить влияние на память, рекомендуется реализовать этот интерфейс в небольшой библиотеке DLL или настроить реализацию с параметром CallOnlyWhenLoaded="true".

IDkmBreakpointManagerNotification

Этот интерфейс реализуется компонентами, которые добавляют точки останова в диспетчер точек останова (например, AD7 AL). Это позволяет компоненту получать уведомления, когда диспетчер точек останова привязывает точку останова или обнаруживает ошибку или предупреждение точки останова.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, CompilerVendorId, EngineId, LanguageId, SourceId.

IDkmBreakpointManagerNotification174

Этот интерфейс реализуется компонентами, которые добавляют точки останова в диспетчер точек останова (например, AD7 AL). Это позволяет компоненту получать уведомления, когда диспетчер точек останова привязывает точку останова или обнаруживает ошибку или предупреждение точки останова.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, CompilerVendorId, EngineId, LanguageId, SourceId.

Этот API появился в Visual Studio 17 с обновлением 4 (DkmApiVersion.VS17Update4).

IDkmBreakpointManagerNotification176

Этот интерфейс реализуется компонентами, которые добавляют точки останова в диспетчер точек останова (например, AD7 AL). Это позволяет компоненту получать уведомления, когда диспетчер точек останова привязывает точку останова или обнаруживает ошибку или предупреждение точки останова.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, CompilerVendorId, EngineId, LanguageId, SourceId.

Этот API появился в Visual Studio 17 с обновлением 6 (DkmApiVersion.VS17Update6).

IDkmCallStackFilter

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

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, TaskProviderId.

IDkmClrAppDomainNameChanged

Интерфейс для обновления имени домена приложения.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, RuntimeId.

IDkmClrCustomVisualizerObjectProvider

Создает экземпляр пользовательского визуализатора на стороне отладчика в отладчике и предоставляет методы для доступа к визуализированному объекту ("Объект визуализатора").

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: CompilerVendorId, EngineId, LanguageId, RuntimeId, SymbolProviderId.

Этот API появился в Visual Studio 14 RTM (DkmApiVersion.VS14RTM).

IDkmClrCustomVisualizerObjectProvider1610

Создает экземпляр типа Пользовательского визуализатора на стороне отладчика в отладчике и предоставляет методы для доступа к визуализированному объекту ("Объект визуализатора") с учетом того, что он не поддерживает BinaryFormatter для взаимодействия с ним.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: CompilerVendorId, EngineId, LanguageId, RuntimeId, SymbolProviderId.

Этот API появился в Visual Studio 16 с обновлением 10 (DkmApiVersion.VS16Update10).

IDkmClrDebugMonitorExceptionCaughtNotification

IDkmClrDebugMonitorExceptionCaughtNotification реализуется компонентами, которые хотят прослушивать событие ClrDebugMonitorExceptionCaught. При срабатывании этого уведомления целевой процесс будет приостановлен и может быть проверен. Событие ClrDebugMonitorExceptionCaught отправляет уведомление из управляемого монитора отладки о перехвате исключения, которое произошло в целевом процессе. Это событие используется средствами диагностики, такими как IntelliTrace, для регистрации в их TraceDebugger.\n.

События ClrDebugMonitorExceptionCaught можно подавить, вызвав DkmEventDescriptorS.Suppress().

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, RuntimeId.

Этот API появился в Visual Studio 12 RTM (DkmApiVersion.VS12RTM).

IDkmClrDecompiler

Предоставляет службы декомпиляции для типов CLR.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId, TransportKind.

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

IDkmClrDecompiler173

Предоставляет службы декомпиляции для типов CLR.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId, TransportKind.

Этот API появился в Visual Studio 17 с обновлением 3 (DkmApiVersion.VS17Update3).

IDkmClrDecompiler175

Предоставляет службы декомпиляции для модулей CLR.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId, TransportKind.

Этот API появился в Visual Studio 17 с обновлением 5 (DkmApiVersion.VS17Update5).

IDkmClrDecompiler177

Предоставляет службы декомпиляции для модулей CLR.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId, TransportKind.

Этот API появился в Visual Studio 17 с обновлением 7 (DkmApiVersion.VS17Update7).

IDkmClrExceptionDetailsProvider

Этот интерфейс позволяет отладочным мониторам предоставлять дополнительные сведения об исключениях СРЕДЫ CLR в виде сведений об исключении.

Реализации этого интерфейса могут ограничивать, когда они вызываются с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: EngineId, ExceptionCategory, RuntimeId.

Этот API появился в Visual Studio 15 с обновлением 7 (DkmApiVersion.VS15Update7).

IDkmClrExpressionCompiler

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

Реализации этого интерфейса могут ограничивать, когда они вызываются с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: CompilerVendorId, LanguageId.

Этот API появился в Visual Studio 14 RTM (DkmApiVersion.VS14RTM).

IDkmClrExpressionCompilerCallback

Позволяет компиляторам управляемых языков компилировать выражения для использования отладчиком для поддержки вычисления выражений. Этот интерфейс содержит методы, вызываемые из монитора.

Реализации этого интерфейса могут ограничивать, когда они вызываются с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: CompilerVendorId, LanguageId.

Этот API появился в Visual Studio 14 RTM (DkmApiVersion.VS14RTM).

IDkmClrExpressionEvaluatorCallbackInternal

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

Реализации этого интерфейса могут ограничивать, когда они вызываются с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: CompilerVendorId, LanguageId.

Этот API появился в Visual Studio 14 RTM (DkmApiVersion.VS14RTM).

IDkmClrFormatter

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

Реализации этого интерфейса могут ограничивать, когда они вызываются с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: CompilerVendorId, LanguageId.

Этот API появился в Visual Studio 14 RTM (DkmApiVersion.VS14RTM).

IDkmClrFormatter2

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

Реализации этого интерфейса могут ограничивать, когда они вызываются с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: CompilerVendorId, LanguageId, SymbolProviderId.

Этот API появился в Visual Studio 15 RTM (DkmApiVersion.VS15RTM).

IDkmClrFrameGenericParameterProvider

Предоставляет возможность получения универсальных параметров для кадра стека.

Реализации этого интерфейса могут ограничивать, когда они вызываются с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId, TransportKind.

Этот API появился в Visual Studio 14 RTM (DkmApiVersion.VS14RTM).

IDkmClrFrameTypesProvider

Используется внутри для запроса сведений о типе кадра стека для сведений об исключении пустой ссылки. Этот интерфейс может быть изменен в будущих версиях Visual Studio.

Реализации этого интерфейса могут ограничивать, когда они вызываются с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId, TransportKind.

Этот API появился в Visual Studio 15 RTM (DkmApiVersion.VS15RTM).

IDkmClrFullNameProvider

Предоставляет полные имена для определенных выражений. Полные имена используются для функции Добавления в контрольные значения.

Реализации этого интерфейса могут ограничивать, когда они вызываются с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, CompilerVendorId, EngineId, LanguageId, RuntimeId.

Этот API появился в Visual Studio 15 RTM (DkmApiVersion.VS15RTM).

IDkmClrFullNameProvider2

Предоставляет имена для конкретных языков для идентификаторов метаданных.

Реализации этого интерфейса могут ограничивать, когда они вызываются с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, CompilerVendorId, EngineId, LanguageId, RuntimeId.

Этот API появился в Visual Studio 16 с обновлением 10 (DkmApiVersion.VS16Update10).

IDkmClrInspectionQueryProcessor

Позволяет выполнять запросы, скомпилированные в Управляемый il.

Реализации этого интерфейса могут ограничивать, когда они вызываются с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: EngineId, RuntimeId.

Этот API появился в Visual Studio 14 RTM (DkmApiVersion.VS14RTM).

IDkmClrIntrinsicAssemblyProvider

Содержит метод для загрузки сборки встроенных методов.

Реализации этого интерфейса могут ограничивать, когда они вызываются с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, RuntimeId, TransportKind.

Этот API появился в Visual Studio 14 RTM (DkmApiVersion.VS14RTM).

IDkmClrManagedHeapStringProvider

Интерфейс, реализованный инспектором СРЕДЫ CLR для эффективной оценки строк.

Реализации этого интерфейса могут ограничивать, когда они вызываются с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, RuntimeId, TransportKind.

Этот API появился в Visual Studio 17 с обновлением 5 (DkmApiVersion.VS17Update5).

IDkmClrManagedHeapTypeLayoutProvider

Интерфейс, реализованный инспектором СРЕДЫ CLR для предоставления сведений о макете типа.

Реализации этого интерфейса могут ограничивать, когда они вызываются с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, RuntimeId, TransportKind.

Этот API появился в Visual Studio 17 с обновлением 6 (DkmApiVersion.VS17Update6).

IDkmClrMetaDataLoader

Методы для загрузки метаданных для модулей, которые не загружаются в процессе отладки.

Реализации этого интерфейса могут ограничивать, когда они вызываются с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, RuntimeId.

Этот API появился в Visual Studio 14 RTM (DkmApiVersion.VS14RTM).

IDkmClrMetaDataProvider

Интерфейс, реализованный управляемым dm для получения метаданных из заданного модуля.

Реализации этого интерфейса могут ограничивать, когда они вызываются с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId, TransportKind.

IDkmClrMetaDataProvider140

Добавлены методы для доступа к метаданным, добавленным в VS14RTM.

Реализации этого интерфейса могут ограничивать, когда они вызываются с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId, TransportKind.

Этот API появился в Visual Studio 14 RTM (DkmApiVersion.VS14RTM).

IDkmClrMetaDataProvider150

Добавлены методы для доступа к базовым (исходным) метаданным.

Реализации этого интерфейса могут ограничивать, когда они вызываются с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId, TransportKind.

Этот API появился в Visual Studio 15 с обновлением 5 (DkmApiVersion.VS15Update5).

IDkmClrMethodSignatureHelper

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

Реализации этого интерфейса могут ограничивать, когда они вызываются с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId, TransportKind.

Этот API появился в Visual Studio 14 RTM (DkmApiVersion.VS14RTM).

IDkmClrModuleLookup

Получает экземпляр DkmClrModuleInstance из ICorDebugModule.

Реализации этого интерфейса могут ограничивать, когда они вызываются с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, RuntimeId, TransportKind.

IDkmClrNcInstructionAddressResolver

Интерфейс для разрешения маркера ссылки на тип для типа def и связанной сборки.

Реализации этого интерфейса могут ограничивать, когда они вызываются с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId, TransportKind.

Этот API появился в Visual Studio 15 с обновлением 8 (DkmApiVersion.VS15Update8).

IDkmClrObjectFavoritesCacheCallback

Предоставляет модулям форматирования результатов сведения о избранном объектов, которые кэшируются на удаленной стороне.

Реализации этого интерфейса могут ограничивать, когда они вызываются с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId.

Этот API появился в Visual Studio 16 с обновлением 4 (DkmApiVersion.VS16Update4).

IDkmClrPropertyInterpreter

Методы для оценки свойства в ICorDebugValueHandles.

Реализации этого интерфейса могут ограничивать, когда они вызываются с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, RuntimeId.

Этот API появился в Visual Studio 15 RTM (DkmApiVersion.VS15RTM).

IDkmClrPropertyInterpreter151

Методы для оценки свойства в ICorDebugValueHandles.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId, TransportKind.

Этот API появился в Visual Studio 15 с обновлением 3 (DkmApiVersion.VS15Update3).

IDkmClrResultProvider

Предоставляет DkmEvaluationResults, заданные DkmClrValues. Поставщики компиляторов могут реализовать этот интерфейс, чтобы изменить способ развертывания и представления значений пользователю.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: CompilerVendorId, LanguageId, SymbolProviderId.

Этот API появился в Visual Studio 14 RTM (DkmApiVersion.VS14RTM).

IDkmClrRuntimeDebugMonitor

Интерфейс, реализованный управляемым dm для получения сведений о текущем состоянии среды выполнения процесса.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId.

IDkmClrRuntimeDebugMonitor150

Интерфейс, реализованный управляемым dm для получения сведений о текущем состоянии среды выполнения процесса.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId, TransportKind.

Этот API появился в Visual Studio 15 с обновлением 5 (DkmApiVersion.VS15Update5).

IDkmClrRuntimeDebugMonitorDirect

Интерфейс, реализованный управляемым dm для предоставления вычислителям выражений и другим компонентам прямого доступа к интерфейсам ICorDebug.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, RuntimeId.

IDkmClrSymbolCallback

Этот API позволяет вычислителю выражений получать сведения, содержащиеся в PDB-файле CLR или хранилище символов динамического модуля CLR.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: SymbolProviderId.

IDkmClrSymbolCallback120

Улучшение IDkmClrSymbolCallback для поддержки сценариев ClrNc.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: RuntimeId, SymbolProviderId.

Этот API появился в Visual Studio 12 RTM (DkmApiVersion.VS12RTM).

IDkmClrSymbolCallback160

Добавлены улучшения обратного вызова поставщика символов для Visual Studio 2019.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: RuntimeId, SymbolProviderId.

Этот API появился в Visual Studio 16 RTM (DkmApiVersion.VS16RTMPreview).

IDkmClrSymbolSignatureCallback

Предоставляет API-интерфейсы для вычислителей выражений для получения сигнатуры локальных переменных и констант.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: SymbolProviderId.

IDkmClrSymUnmanagedReaderFactory

Этот API предоставляет частичную реализацию ISymUnmanagedReader2 для экземпляра модуля CLR.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId, TransportKind.

Этот API появился в Visual Studio 15 RTM (DkmApiVersion.VS15RTM).

IDkmClrTypeResolver

Интерфейс для разрешения типов из строк в идентификатор метода или идентификатор типа.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId.

Этот API появился в Visual Studio 12 RTM (DkmApiVersion.VS12RTM).

IDkmClrTypeRuntimeInfoProvider

Используется для внутреннего запроса ICorDebugType и сведений о размере из DkmClrType. Этот интерфейс может быть изменен в будущих версиях Visual Studio.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId.

Этот API появился в Visual Studio 15 RTM (DkmApiVersion.VS15RTM).

IDkmClrTypeRuntimeInfoProvider178

Интерфейс, реализованный управляемым dm для предоставления сведений о типе из среды CLR.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId, TransportKind.

Этот API появился в Visual Studio 17 с обновлением 8 (DkmApiVersion.VS17Update8).

IDkmClrUIVisualizerService

Реализуется средствами оценки выражений, которые поддерживают метод C# EE пользовательских средств просмотра (т. е. IPropertyProxyEESide). Этот интерфейс может быть изменен в будущих выпусках.

Реализации этого интерфейса вызываются всегда (фильтрация не поддерживается). Чтобы уменьшить влияние на память, рекомендуется реализовать этот интерфейс в небольшой библиотеке DLL или настроить реализацию с параметром CallOnlyWhenLoaded="true".

IDkmClrUIVisualizerService120

Реализуется средствами оценки выражений, которые поддерживают метод C# EE пользовательских средств просмотра (т. е. IPropertyProxyEESide). Этот интерфейс может быть изменен в будущих выпусках.

Реализации этого интерфейса вызываются всегда (фильтрация не поддерживается). Чтобы уменьшить влияние на память, рекомендуется реализовать этот интерфейс в небольшой библиотеке DLL или настроить реализацию с параметром CallOnlyWhenLoaded="true".

Этот API появился в Visual Studio 12 RTM (DkmApiVersion.VS12RTM).

IDkmClrValueInspectionCallback

Интерфейс реализован для проверки значений CLR, представленных DkmClrValues.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: SymbolProviderId.

Этот API появился в Visual Studio 14 RTM (DkmApiVersion.VS14RTM).

IDkmCompiledInspectionQueryProcessor

Обеспечивает выполнение скомпилированных запросов проверки.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: CompiledInspectionQueryKind, CompilerVendorId, EngineId, LanguageId, RuntimeId.

IDkmComputeKernelExitNotification

IDkmComputeKernelExitNotification реализуется компонентами, которые хотят прослушивать событие ComputeKernelExit. Целевой процесс может продолжать выполняться во время этого уведомления. Событие при завершении работы ядра вычислений GPU.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, TransportKind.

IDkmContinueExecution

Этот интерфейс содержит API для возобновления выполнения после отправки обработчиком события остановки в пакет отладчика Visual Studio. Этот интерфейс должен быть реализован только компонентами базового монитора отладки. В отличие от почти всех других интерфейсов, одна реализация этого интерфейса может не связываться с другой реализацией.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, TransportKind.

IDkmCustomMessageAsyncForwardReceiver176

Реализуется компонентами, которые хотят получать пользовательские сообщения из интегрированной среды разработки или другого компонента Конкорд, и обрабатывают это сообщение асинхронно. Это асинхронная версия IDkmCustomMessageForwardReceiver. Обратите внимание, что через этот интерфейс будут получаться только сообщения, отправленные с помощью асинхронной версии DkmCustomMessage.SendLower ( DkmWorkList).

Разработчики этого интерфейса обычно используют фильтр SourceId.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, SourceId, TransportKind.

Этот API появился в Visual Studio 17 с обновлением 6 (DkmApiVersion.VS17Update6).

IDkmCustomMessageCallbackReceiver

Реализуется компонентами, которые хотят получать пользовательские сообщения от другого компонента Concord. Этот интерфейс аналогичен IDkmCustomMessageForwardReceiver, за исключением того, что этот метод требует, чтобы вызывающий объект был на более низком уровне в иерархии компонентов, чем компонент, получающий уведомление (например, Базовый монитор отладки —> AD7 AL).

Разработчики этого интерфейса обычно используют фильтр SourceId.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, SourceId, TransportKind.

IDkmCustomMessageForwardReceiver

Реализуется компонентами, которые хотят получать пользовательские сообщения из интегрированной среды разработки или другого компонента Concord. Этот интерфейс аналогичен IDkmCustomMessageCallbackReceiver, за исключением того, что этот метод требует, чтобы вызывающий объект был на более высоком уровне в иерархии компонентов, чем компонент, получающий (например, AD7 AL —> базовый монитор отладки).

Разработчики этого интерфейса обычно используют фильтр SourceId.

Начиная с версии 17.6, существует асинхронная альтернатива этому интерфейсу: IDkmCustomMessageAsyncForwardReceiver176.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, SourceId, TransportKind.

IDkmCustomStopNotification

IDkmCustomStopNotification реализуется компонентами, которые хотят прослушивать событие CustomStop. IDkmCustomStopNotification вызывается после всех реализаций IDkmCustomStopReceived. При вызове этого уведомления целевой процесс останавливается, и разработчики могут либо проверить процесс, либо вызвать его выполнение контролируемым образом (скольжение, func-eval).

Событие CustomStop позволяет компоненту конкордировать событие остановки к пользовательскому компоненту пользовательского интерфейса или компоненту Конкорд более высокого уровня.

События CustomStop можно подавлять путем вызова DkmEventDescriptorS.Suppress().

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, SourceId, TransportKind.

IDkmCustomStopReceived

IDkmCustomStopReceived реализуется компонентами, которые хотят прослушивать событие CustomStop. IDkmCustomStopReceived вызывается перед IDkmCustomStopNotification. В этом уведомлении невозможно вызвать выполнение целевого процесса (без func-eval, без скольжения).

Событие CustomStop позволяет компоненту concord вызывать событие остановки для пользовательского компонента пользовательского интерфейса или компонента Concord более высокого уровня.

События CustomStop можно подавлять путем вызова DkmEventDescriptorS.Suppress().

Реализации этого интерфейса могут ограничивать, когда они вызываются с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, SourceId, TransportKind.

IDkmCustomVisualizer

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

Реализации этого интерфейса могут ограничивать, когда они вызываются с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: EngineId, RuntimeId, SourceId, SymbolProviderId, VisualizerId.

IDkmCustomVisualizerCallback

Этот интерфейс реализуется вычислителем выражений, чтобы разрешить надстройке EE обратный вызов в вычислитель выражений.

Реализации этого интерфейса могут ограничивать, когда они вызываются с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: EngineId, RuntimeId, SourceId, SymbolProviderId, VisualizerId.

IDkmDataBreakpointErrorInfoClient

Интерфейс для точек останова данных, завершающихся сбоем после их привязки.

Реализации этого интерфейса могут ограничивать, когда они вызываются с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, RuntimeId, SourceId.

Этот API появился в Visual Studio 16 RTM (DkmApiVersion.VS16RTM).

IDkmDataBreakpointHitNotification

IDkmDataBreakpointHitNotification реализуется компонентами, которые хотят прослушивать событие DataBreakpointHit. IDkmDataBreakpointHitNotification вызывается после всех реализаций IDkmDataBreakpointHitReceived. При вызове этого уведомления целевой процесс останавливается, и разработчики могут либо проверить процесс, либо вызвать его выполнение контролируемым образом (скольжение, func-eval).

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

События DataBreakpointHit можно подавлять путем вызова DkmEventDescriptorS.Suppress().

Реализации этого интерфейса могут ограничивать, когда они вызываются с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, CompilerVendorId, EngineId, LanguageId, SourceId.

Этот API появился в Visual Studio 16 RTM (DkmApiVersion.VS16RTM).

IDkmDataBreakpointHitReceived

IDkmDataBreakpointHitReceived реализуется компонентами, которые хотят прослушивать событие DataBreakpointHit. IDkmDataBreakpointHitReceived вызывается перед IDkmDataBreakpointHitNotification. В этом уведомлении невозможно вызвать выполнение целевого процесса (без func-eval, без скольжения).

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

События DataBreakpointHit можно подавлять путем вызова DkmEventDescriptorS.Suppress().

Реализации этого интерфейса могут ограничивать, когда они вызываются с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, CompilerVendorId, EngineId, LanguageId, SourceId.

Этот API появился в Visual Studio 16 RTM (DkmApiVersion.VS16RTM).

IDkmDataBreakpointInfoProvider

Интерфейс, отвечающий за предоставление сведений, относящихся к точке останова данных.

Реализации этого интерфейса могут ограничивать, когда они вызываются с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: CompilerVendorId, EngineId, LanguageId, RuntimeId, SymbolProviderId.

Этот API появился в Visual Studio 15 с обновлением 8 (DkmApiVersion.VS15Update8).

IDkmDataBreakpointInfoProvider160

Расширение для IDkmDataBreakpointInfoProvider, позволяющее вычислителям выражений предоставлять отображаемое имя для точек останова данных.

Реализации этого интерфейса могут ограничивать, когда они вызываются с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: CompilerVendorId, EngineId, LanguageId, RuntimeId, SymbolProviderId.

Этот API появился в Visual Studio 16 RTM (DkmApiVersion.VS16RTM).

IDkmDebugMonitorExceptionNotification

IDkmDebugMonitorExceptionNotification реализуется компонентами, которые хотят прослушивать событие DebugMonitorException. При появлении этого уведомления целевой процесс будет приостановлен и может быть проверен. Событие DebugMonitorException предоставляет уведомления от мониторов отладки об исключениях, возникающих в целевом процессе. Это уведомление о событии используется диспетчером исключений и мониторами отладки, работающими на уровнях компонентов над монитором отладки, который обнаружил исключение. Компоненты более высокого уровня должны использовать триггеры исключений. Дополнительные сведения см. в разделе DkmExceptionTrigger.

Если исключение отправляется необработанным (заданО DkmExceptionProcessingStage.Unhandled), то интегрированная среда разработки остановится. Другие исключения могут останавливаться в зависимости от любых DkmExceptionTriggers, заданных AD7 AL или другими компонентами. AD7 AL считывает набор триггеров по умолчанию из %VSRegistryRoot%\AD7Metrics\Exception%CategoryGuid%*.

События DebugMonitorException можно подавлять путем вызова DkmEventDescriptorS.Suppress().

Реализации этого интерфейса могут ограничивать, когда они вызываются с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, ExceptionCategory, RuntimeId.

IDkmDeploymentCommandCallback

Интерфейс обратного вызова, реализованный вызывающими объектами DkmDeploymentCommand.Start для получения уведомлений о событиях в команде развертывания.

Реализации этого интерфейса могут ограничивать, когда они вызываются с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: SourceId, TransportKind.

IDkmDisassemblyFunctionLabelProvider

Предоставляет символы, необходимые для форматирования дизассемблирования.

Реализации этого интерфейса могут ограничивать, когда они вызываются с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: CompilerVendorId, LanguageId, SymbolProviderId, TransportKind.

Этот API появился в Visual Studio 16 с обновлением 3 (DkmApiVersion.VS16Update3).

IDkmDisassemblyProvider

Используется для разборки инструкций в адресном пространстве отладчика.

Реализации этого интерфейса могут ограничивать, когда они вызываются с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, TransportKind.

IDkmDisassemblyRuntimeAddressResolver

Позволяет среде выполнения указать адрес разрешения имен символов для использования в окне дизассемблирования.

Реализации этого интерфейса могут ограничивать, когда они вызываются с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, RuntimeId, TransportKind.

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

IDkmDisassemblySymbolProvider

Предоставляет символы, необходимые для форматирования дизассемблирования.

Реализации этого интерфейса могут ограничивать, когда они вызываются с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: CompilerVendorId, LanguageId, SymbolProviderId, TransportKind.

Этот API появился в Visual Studio 16 RTM (DkmApiVersion.VS16RTM).

IDkmDumpWriter

Этот интерфейс содержит API для записи файла дампа процесса отладки.

Реализации этого интерфейса могут ограничивать, когда они вызываются с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, TransportKind.

IDkmEditAndContinueService

Интерфейс, реализованный механизмом редактирования и продолжения для поддержки службы запросов состояния.

Реализации этого интерфейса могут ограничивать, когда они вызываются с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: RuntimeId, SymbolProviderId.

Этот API появился в Visual Studio 14 RTM (DkmApiVersion.VS14RTM).

IDkmEmbeddedBreakpointHitNotification

IDkmEmbeddedBreakpointHitNotification реализуется компонентами, которые хотят прослушивать событие EmbeddedBreakpointHit. IDkmEmbeddedBreakpointHitNotification вызывается после всех реализаций IDkmEmbeddedBreakpointHitReceived. При вызове этого уведомления целевой процесс останавливается, и разработчики могут либо проверить процесс, либо вызвать его выполнение контролируемым образом (скольжение, func-eval).

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

События EmbeddedBreakpointHit можно подавлять. Если это событие достигает уровня AD7, отладчик перейдет в режим приостановки.

Реализации этого интерфейса могут ограничивать, когда они вызываются с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, TransportKind.

IDkmEmbeddedBreakpointHitReceived

IDkmEmbeddedBreakpointHitReceived реализуется компонентами, которые хотят прослушивать событие EmbeddedBreakpointHit. IDkmEmbeddedBreakpointHitReceived вызывается перед IDkmEmbeddedBreakpointHitNotification. В этом уведомлении невозможно вызвать выполнение целевого процесса (без func-eval, без скольжения).

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

События EmbeddedBreakpointHit можно подавлять. Если это событие достигает уровня AD7, отладчик перейдет в режим приостановки.

Реализации этого интерфейса могут ограничивать, когда они вызываются с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, TransportKind.

IDkmEmbeddedDocumentProvider

Этот API используется для получения документов исходного кода, внедренных в файл символов.

Реализации этого интерфейса могут ограничивать, когда они вызываются с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: RuntimeId, SymbolProviderId.

Этот API появился в Visual Studio 15 с обновлением 5 (DkmApiVersion.VS15Update5).

IDkmEmbeddedDocumentProvider158

Этот API используется в сценариях vsdbg, чтобы определить, находится ли указанная инструкция во внедренном документе без получения содержимого документа.

Реализации этого интерфейса могут ограничивать, когда они вызываются с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: RuntimeId, SymbolProviderId.

Этот API появился в Visual Studio 15 с обновлением 8 (DkmApiVersion.VS15Update8).

IDkmEmbeddedDocumentProvider165

Этот API используется для проверка существования внедренных документов, перечисления внедренных документов и получения содержимого документа.

Реализации этого интерфейса могут ограничивать, когда они вызываются с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: CompilerVendorId, LanguageId, SymbolProviderId.

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

IDkmEntryPointNotification

IDkmEntryPointNotification реализуется компонентами, которые хотят прослушивать событие EntryPoint. IDkmEntryPointNotification вызывается после всех реализаций IDkmEntryPointReceived. При вызове этого уведомления целевой процесс останавливается, и разработчики могут либо проверить процесс, либо вызвать его выполнение контролируемым образом (скольжение, func-eval).

Срабатывает из диспетчера точек останова при попадании в точку останова точки входа.

События EntryPoint не могут быть подавлены. Чтобы переопределить точку входа, реализуйте IDkmEntryPointQuery.

Реализации этого интерфейса могут ограничивать, когда они вызываются с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, TransportKind.

IDkmEntryPointReceived

IDkmEntryPointReceived реализуется компонентами, которые хотят прослушивать событие EntryPoint. IDkmEntryPointReceived вызывается перед IDkmEntryPointNotification. В этом уведомлении невозможно вызвать выполнение целевого процесса (без func-eval, без скольжения).

Срабатывает из диспетчера точек останова при попадании в точку останова точки входа.

События EntryPoint не могут быть подавлены. Чтобы переопределить точку входа, реализуйте IDkmEntryPointQuery.

Реализации этого интерфейса могут ограничивать, когда они вызываются с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, TransportKind.

IDkmExceptionAnalyzer

Интерфейс, позволяющий компоненту конкордировать анализ исключения и придумать улучшенное описание проблемы.

Реализации этого интерфейса могут ограничивать, когда они вызываются с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, ExceptionCategory, RuntimeId, SourceId.

Этот API появился в Visual Studio 14 с обновлением 1 (DkmApiVersion.VS14Update1).

IDkmExceptionContinuedNotification

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

Реализации этого интерфейса могут ограничивать, когда они вызываются с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, ExceptionCategory, RuntimeId.

IDkmExceptionController

IDkmExceptionController реализуется мониторами отладки среды выполнения, которые вызывают события исключений (DkmExceptionInformation.OnDebugMonitorException()).

Реализации этого интерфейса могут ограничивать, когда они вызываются с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, ExceptionCategory, RuntimeId.

IDkmExceptionDetailsProvider

Этот интерфейс позволяет отладочным мониторам предоставлять дополнительные сведения об исключениях в виде сведений об исключении.

Реализации этого интерфейса могут ограничивать, когда они вызываются с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: EngineId, ExceptionCategory, RuntimeId.

Этот API появился в Visual Studio 15 RTM (DkmApiVersion.VS15RTM).

IDkmExceptionDetailsProvider164

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

Реализации этого интерфейса могут ограничивать, когда они вызываются с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: EngineId, ExceptionCategory, RuntimeId.

Этот API появился в Visual Studio 16 с обновлением 4 (DkmApiVersion.VS16Update4).

IDkmExceptionDetailsProvider173

Интерфейс, используемый для реализации DkmExceptionDetails.GetStackTraceInstructionAddresses.

Реализации этого интерфейса могут ограничивать, когда они вызываются с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: EngineId, ExceptionCategory, RuntimeId.

Этот API появился в Visual Studio 16 с обновлением 4 (DkmApiVersion.VS16Update4).

IDkmExceptionFormatter

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

Реализации этого интерфейса могут ограничивать, когда они вызываются с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, ExceptionCategory, RuntimeId.

IDkmExceptionManager

Интерфейс, реализованный компонентом диспетчера исключений для включения или отключения триггеров исключений.

Реализации этого интерфейса могут ограничивать, когда они вызываются с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, TransportKind.

IDkmExceptionManager140

Это обновленная версия IDkmExceptionManager, добавленная для Visual Studio 14.0 для удаления триггеров исключений из диспетчера исключений.

Реализации этого интерфейса могут ограничивать, когда они вызываются с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, TransportKind.

Этот API появился в Visual Studio 14 RTM (DkmApiVersion.VS14RTM).

IDkmExceptionStackTraceProvider

Позволяет библиотеке, реализующей объекты исключений, которые поддерживают отслеживаемую трассировку стека, предоставлять эту трассировку стека отладчику.

Реализации этого интерфейса могут ограничивать, когда они вызываются с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, ExceptionCategory, RuntimeId.

Этот API появился в Visual Studio 12 RTM (DkmApiVersion.VS12RTM).

IDkmExceptionTriggerHitNotification

IDkmExceptionTriggerHitNotification реализуется компонентами, которые хотят прослушивать событие ExceptionTriggerHit. IDkmExceptionTriggerHitNotification вызывается после всех реализаций IDkmExceptionTriggerHitReceived. При вызове этого уведомления целевой процесс останавливается, и разработчики могут либо проверить процесс, либо вызвать его выполнение контролируемым образом (скольжение, func-eval).

Событие ExceptionTriggerHit предоставляет уведомление о выполнении ранее заданного DkmExceptionTrigger.

События ExceptionTriggerHit можно подавлять путем вызова DkmEventDescriptorS.Suppress().

Реализации этого интерфейса могут ограничивать, когда они вызываются с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, ExceptionCategory, RuntimeId, SourceId.

IDkmExceptionTriggerHitReceived

IDkmExceptionTriggerHitReceived реализуется компонентами, которые хотят прослушивать событие ExceptionTriggerHit. IDkmExceptionTriggerHitReceived вызывается перед IDkmExceptionTriggerHitNotification. В этом уведомлении невозможно вызвать выполнение целевого процесса (без func-eval, без скольжения).

Событие ExceptionTriggerHit предоставляет уведомление о выполнении ранее заданного DkmExceptionTrigger.

События ExceptionTriggerHit можно подавлять путем вызова DkmEventDescriptorS.Suppress().

Реализации этого интерфейса могут ограничивать, когда они вызываются с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, ExceptionCategory, RuntimeId, SourceId.

IDkmExceptionWinRTErrorExtractor

IDkmExceptionWinRTErrorExtractor вызывается диспетчером исключений для извлечения расширенных сведений об ошибках WinRT из исключения JavaScript/CLR/C++/etc.

Реализации этого интерфейса могут ограничивать, когда они вызываются с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, ExceptionCategory, RuntimeId.

IDkmExtendedRegisters

Возвращает расширенные регистры из контекста потока.

Реализации этого интерфейса могут ограничивать, когда они вызываются с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, TransportKind.

IDkmFrameExceptionInterceptProvider

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

Реализации этого интерфейса могут ограничивать, когда они вызываются с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId, TransportKind.

IDkmFramePseudoLocalResultProvider

Позволяет предоставить дополнительные узлы, которые будут включены в локальные элементы фрейма, идентифицируемые по имени псевдорегистра.

Реализации этого интерфейса могут ограничивать, когда они вызываются с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: CompilerVendorId, EngineId, LanguageId, RuntimeId.

Этот API появился в Visual Studio 15 с обновлением 8 (DkmApiVersion.VS15Update8).

IDkmFuncEvalCompletedNotification

IDkmFuncEvalCompletedNotification реализуется компонентами, которые хотят прослушивать событие FuncEvalCompleted. Целевой процесс может продолжать выполняться во время этого уведомления. Событие FuncEvalCompleted отправляется после завершения оценки функции.

Реализации этого интерфейса могут ограничивать, когда они вызываются с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, TransportKind.

IDkmFuncEvalStartingNotification

IDkmFuncEvalStartingNotification реализуется компонентами, которые хотят прослушивать событие FuncEvalStarting. Целевой процесс может продолжать выполняться во время этого уведомления. Событие FuncEvalStarting отправляется непосредственно перед запуском оценки функции. В случае состояния вложенного разрыва каждое новое вычисление функции будет запускать другое событие FuncEvalStarting. В этом сценарии целевой объект останавливается, и пользователь выполняет оценку из непосредственного окна, которое запускает событие FuncEvalStarting. Пользователь достигает точки останова в вычисляемой функции, после чего пользователь выполняет вторую оценку, которая запускает второе событие FuncEvalStarting. Пользователь позволяет завершить обе оценки, и это активирует два события FuncEvalCompleted.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, TransportKind.

IDkmFunctionTableProvider

Интерфейс для предоставления доступа к таблице функций среды выполнения процесса. Реализация по умолчанию предоставляется собственным отладочным монитором Майкрософт, который может находить таблицы функций в загруженных модулях Win32 и динамические PData в динамических процессах. Этот интерфейс может быть реализован базовыми мониторами отладки для предоставления доступа к таблицам функций среды выполнения для нединаковых процессов (например, минидампов).

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, TransportKind.

IDkmGetExpensiveHashValue177

Предоставляет методы для вычисления и возврата фактического значения "дорогого" хэша.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: CompilerVendorId, LanguageId, SymbolProviderId, TransportKind.

Этот API появился в Visual Studio 17 с обновлением 7 (DkmApiVersion.VS17Update7).

IDkmGPUBreakpointBehaviorQuery

Интерфейс для запроса поведения точки останова при отладке GPU.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, TransportKind.

IDkmGPUComputeKernelOperation

Предоставляет иерархию ядра вычислений, т. е. группу потоков, вектор вычислений и поток вычислений для просмотра пользователем.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, TransportKind.

IDkmGPUDisassemblyQuery

Используется для запроса необработанных дизассемблирований в байтовом коде отладчика GPU.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId, TransportKind.

IDkmGPUEnvironmentFilter

Необязательный внутренний интерфейс, который можно реализовать для настройки среды целевого процесса GPU перед его запуском. На стороне монитора отладки можно реализовать этот API или IDkmGPUEnvironmentFilter.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: EngineId.

IDkmGPUMemoryOperation

Реализуется базовыми мониторами отладки для предоставления доступа к памяти целевого процесса GPU. Базовые мониторы отладки отвечают за выполнение операций ввода-вывода памяти.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, TransportKind.

IDkmGpuRaceHazardsAllowSameNotification

Интерфейс для обновления компонентов при включении или отключении IsGpuRaceHazardsAllowSameSettingEnabled.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId.

IDkmGPURegisterOperation

Реализуется базовыми мониторами отладки для предоставления доступа к регистрам вычислительного потока GPU.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, TransportKind.

IDkmGPUSetMemoryAccessWarningOperation

IDkmGPUSetMemoryAccessWarningOperation используется для настройки предупреждений о доступе к памяти GPU на отлаженном устройстве GPU. Он реализуется базовыми отладочными мониторами, которые поддерживают отчеты об исключениях доступа к памяти GPU.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, TransportKind.

IDkmGPUSingleStepCompleteNotification

IDkmGPUSingleStepCompleteNotification реализуется компонентами, которые хотят прослушивать событие GPUSingleStepComplete. IDkmGPUSingleStepCompleteNotification вызывается после всех реализаций IDkmGPUSingleStepCompleteReceived. При вызове этого уведомления целевой процесс останавливается, и разработчики могут либо проверить процесс, либо вызвать его выполнение контролируемым образом (скольжение, func-eval).

Отправляется по завершении одношагового выполнения потока GPU. Событие может быть вызвано другим потоком из потока запроса в той же области.

События GPUSingleStepComplete можно подавить, вызвав DkmEventDescriptorS.Suppress().

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, SourceId.

IDkmGPUSingleStepCompleteReceived

IDkmGPUSingleStepCompleteReceived реализуется компонентами, которые хотят прослушивать событие GPUSingleStepComplete. IDkmGPUSingleStepCompleteReceived вызывается перед IDkmGPUSingleStepCompleteNotification. В этом уведомлении невозможно выполнить целевой процесс (без func-eval, без скольжения).

Отправляется по завершении одношагового выполнения потока GPU. Событие может быть вызвано другим потоком из потока запроса в той же области.

События GPUSingleStepComplete можно подавить, вызвав DkmEventDescriptorS.Suppress().

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, SourceId.

IDkmGPUSymbolProviderCallback

Интерфейс обратного вызова, реализованный поставщиками символов GPU для предоставления информации из хранилища символов базовым мониторам отладки.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: SymbolProviderId.

IDkmGPUSymbolQuery

Этот API используется для чтения сведений о символе для DPC++.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: CompilerVendorId, LanguageId, SymbolProviderId, TransportKind.

IDkmGPUSymbolQueryCallback

Позволяет удаленным компонентам получать сведения о исходном положении для DPC++, когда поставщик символов находится на компьютере VS.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: RuntimeId, SymbolProviderId.

IDkmGPUTempBreakStepper

Интерфейс, реализованный мониторами базовой отладки GPU для включения временных точек останова инструкций при пошаговом выполнении. Временные точки останова инструкций передаются в ContinueDebugEvent.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, SourceId.

IDkmGroupCompiledInspectionQueryProcessor

Используется для выполнения скомпилированной обработки выражений группы.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: CompiledInspectionQueryKind, CompilerVendorId, EngineId, LanguageId, RuntimeId.

IDkmGroupLanguageExpressionEvaluator

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

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, CompilerVendorId, EngineId, LanguageId, RuntimeId.

IDkmHeuristicStackWalker

IDkmHeuristicStackWalker вызывается поставщиком стека. Он вызывается при попытке обхода кадров без символов.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId.

IDkmHiddenEntryPointNotification

IDkmHiddenEntryPointNotification реализуется компонентами, которые хотят прослушивать событие HiddenEntryPoint. IDkmHiddenEntryPointNotification вызывается после всех реализаций IDkmHiddenEntryPointReceived. При вызове этого уведомления целевой процесс останавливается, и разработчики могут либо проверить процесс, либо вызвать его выполнение контролируемым образом (скольжение, func-eval).

Срабатывает из диспетчера точек останова при попадании точки останова точки входа в скрытом коде. Фактическая точка входа задерживается до тех пор, пока мы не оставим скрытый код, и, возможно, даже не сработает, если не удается найти соответствующее открытие. HiddenEntryPoint будет запущен в дополнение к любой необходимой в фоновом режиме работы.

События HiddenEntryPoint нельзя подавлять. Чтобы переопределить точку входа, реализуйте IDkmHiddenEntryPointQuery.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, TransportKind.

Этот API появился в Visual Studio 14 RTM (DkmApiVersion.VS14RTM).

IDkmHiddenEntryPointReceived

IDkmHiddenEntryPointReceived реализуется компонентами, которые хотят прослушивать событие HiddenEntryPoint. IDkmHiddenEntryPointReceived вызывается перед IDkmHiddenEntryPointNotification. В этом уведомлении невозможно выполнить целевой процесс (без func-eval, без скольжения).

Срабатывает из диспетчера точек останова при попадании точки останова точки входа в скрытом коде. Фактическая точка входа задерживается до тех пор, пока мы не оставим скрытый код, и, возможно, даже не сработает, если не удается найти соответствующее открытие. HiddenEntryPoint будет запущен в дополнение к любой необходимой в фоновом режиме работы.

События HiddenEntryPoint нельзя подавлять. Чтобы переопределить точку входа, реализуйте IDkmHiddenEntryPointQuery.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, TransportKind.

Этот API появился в Visual Studio 14 RTM (DkmApiVersion.VS14RTM).

IDkmHostingProcessShowNotification

Интерфейс реализуется компонентами, которые хотят узнать, когда начинается активная (не скрытая) отладка процесса размещения (например, my_app.vshost.exe).

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, TransportKind.

Этот API появился в Visual Studio 14 RTM (DkmApiVersion.VS14RTM).

IDkmIISDebuggingServices

Интерфейс для предоставления средств отладки IIS для SDM.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: TransportKind.

IDkmIISResolver

Интерфейс для предоставления разрешения процесса URL-Work> на компьютере Visual Studio.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: TransportKind.

IDkmIISResolver160

Интерфейс для предоставления разрешения рабочего процесса URL-адреса> для сценариев профилирования.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: TransportKind.

Этот API появился в Visual Studio 16 RTM (DkmApiVersion.VS16RTMPreview).

IDkmIISResolver170

Интерфейс для предоставления сведений о пуле приложений IIS.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: TransportKind.

Этот API появился в Visual Studio 17 RTM (DkmApiVersion.VS17RTM).

IDkmILFailureReasonResolver

Разрешает DkmILFailureReason в сообщение об ошибке.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: CompiledInspectionQueryKind, CompilerVendorId, EngineId, LanguageId, RuntimeId.

Этот API появился в Visual Studio 14 RTM (DkmApiVersion.VS14RTM).

IDkmILInterpreter

Интерфейс для интерпретации IL.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId, TransportKind.

Этот API появился в Visual Studio 12 RTM (DkmApiVersion.VS12RTM).

IDkmInlineFrameCount

Этот API используется для определения количества встроенных кадров в расположении.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: RuntimeId, SymbolProviderId.

Этот API появился в Visual Studio 16 RTM (DkmApiVersion.VS16RTMPreview).

IDkmInlineSourceSymbolQuery

Этот API используется для чтения сведений о встроенных символах.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: RuntimeId, SymbolProviderId.

Этот API появился в Visual Studio 15 RTM (DkmApiVersion.VS15RTM).

IDkmInstructionAddressOperator

Интерфейс для предоставления операций, зависящих от среды выполнения, для адресов инструкций. Для собственных и управляемых инструкций эта служба предоставляется поставщиком символов.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId.

IDkmInstructionAddressProvider

Интерфейс для предоставления адресов инструкций для конкретного процесса.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, TransportKind.

IDkmInstructionAddressResolver

Интерфейс для обеспечения разрешения адресов ЦП для конкретной среды выполнения. Это может быть реализовано на стороне сервера или клиента (например, собственная компиляция СРЕДЫ CLR).

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, RuntimeId.

IDkmInstructionPatchNotification

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

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, TransportKind.

IDkmInstructionStepper

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

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, SourceId.

IDkmInterceptExceptionCompletedNotification

IDkmInterceptIonExceptionCompletedNotification реализуется компонентами, которые хотят прослушивать событие InterceptExceptionCompleted. IDkmInterceptExceptionCompletedNotification вызывается после всех реализаций IDkmInterceptExceptionCompletedReceived. При вызове этого уведомления целевой процесс останавливается, и разработчики могут либо проверить процесс, либо вызвать его выполнение контролируемым образом (скольжение, func-eval).

Отправляется отладочным монитором после раскручиваемого исключения в указанный кадр.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, TransportKind.

IDkmInterceptExceptionCompletedReceived

IDkmInterceptExceptionCompletedReceived реализуется компонентами, которые хотят прослушивать событие InterceptExceptionCompleted. IDkmInterceptExceptionCompletedReceived вызывается перед IDkmInterceptExceptionCompletedNotification. В этом уведомлении невозможно выполнить целевой процесс (без func-eval, без скольжения).

Отправляется отладочным монитором после раскручиваемого исключения в указанный кадр.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, TransportKind.

IDkmIntrinsicFunctionEvaluator

Этот интерфейс позволяет вычислителю выражений указывать внутренние операции, вызываемые через IL, за реализацию которых отвечает EE.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: LanguageId, SourceId.

IDkmIntrinsicFunctionEvaluator140

Этот интерфейс позволяет вычислителю выражений указывать внутренние операции, вызываемые через IL, за реализацию которых отвечает EE.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: LanguageId, SourceId.

Этот API появился в Visual Studio 14 RTM (DkmApiVersion.VS14RTM).

IDkmJustMyCodeEnableNotification

Интерфейс для обновления компонентов при включении или отключении JustMyCode.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId.

IDkmJustMyCodeProvider

Интерфейс для определения того, является ли конкретное расположение пользовательским кодом.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId.

Этот API появился в Visual Studio 12 RTM (DkmApiVersion.VS12RTM).

IDkmLanguageAsyncStepper

Этот интерфейс реализуется языками для обеспечения поведения пошагового выполнения для асинхронных методов.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: CompilerVendorId, EngineId, LanguageId, RuntimeId.

IDkmLanguageConditionEvaluator

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

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: CompilerVendorId, EngineId, LanguageId, RuntimeId.

IDkmLanguageExpressionCompiler

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

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: CompilerVendorId, EngineId, LanguageId, RuntimeId.

IDkmLanguageExpressionEvaluator

Этот интерфейс позволяет расширению языка предоставлять возможность вычисления выражений в различных окнах проверки данных отладчика (watch, autos, интерпретация, память, дизассемблирование и т. д.). Как правило, он должен быть реализован всеми языковыми расширениями.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: CompilerVendorId, EngineId, LanguageId, RuntimeId.

IDkmLanguageFrameDecoder

Этот интерфейс позволяет расширению языка форматировать отображение имен функций в окне стека вызовов.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, CompilerVendorId, EngineId, LanguageId, RuntimeId.

IDkmLanguageInstructionDecoder

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

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: CompilerVendorId, EngineId, LanguageId, RuntimeId.

IDkmLanguageObjectIdProvider

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

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: CompilerVendorId, EngineId, LanguageId, RuntimeId, SymbolProviderId.

IDkmLanguageReturnValueEvaluator

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

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, CompilerVendorId, EngineId, LanguageId, RuntimeId.

IDkmLanguageReturnValueEvaluator2

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

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, CompilerVendorId, EngineId, LanguageId, RuntimeId.

Этот API появился в Visual Studio 14 RTM (DkmApiVersion.VS14RTM).

IDkmLanguageStepIntoFilterCallback

Этот интерфейс позволяет расширению языка влиять на Step-Into поведение собственной среды выполнения.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: CompilerVendorId, EngineId, LanguageId, RuntimeId.

IDkmLaunchResumeProcess

IDkmLaunchResumeProcess используется для запуска и возобновления процесса. Он вызывается из монитора отладки в F5 и из транспорта в ctrl+F5.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, TransportKind.

IDkmLaunchResumeProcess150

Расширение iDkmLaunchResumeProcess для поддержки передачи созданного DkmProcess во время возобновления.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, TransportKind.

Этот API появился в Visual Studio 15 с обновлением 3 (DkmApiVersion.VS15Update3).

IDkmLoadCompleteNotification

IDkmLoadCompleteNotification реализуется компонентами, которые хотят прослушивать событие LoadComplete. При срабатывании этого уведомления целевой процесс будет приостановлен и может быть проверен. LoadComplete отправляется базовым монитором отладки при завершении процесса запуска или присоединения к нему.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, TransportKind.

IDkmManagedAsyncTaskDecoder

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

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: EngineId, SymbolProviderId.

Этот API появился в Visual Studio 12 RTM (DkmApiVersion.VS12RTM).

IDkmManagedFuncEvalQuickAbortServices

Интерфейс для поддержки быстрого прерывания управляемого func-eval.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, RuntimeId, TransportKind.

IDkmManagedFuncEvalServices

Интерфейс, предоставляемый управляемым монитором отладки для продолжения процесса оценки управляемой функции.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, RuntimeId, TransportKind.

IDkmManagedFuncEvalServices150

Интерфейс, предоставляемый управляемым монитором отладки для продолжения процесса оценки управляемой функции.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, RuntimeId, TransportKind.

Этот API появился в Visual Studio 15 RTM (DkmApiVersion.VS15RTM).

IDkmManagedHeapPathsToRootProvider

Интерфейс, реализованный управляемым dm для перемещения по управляемой куче.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: EngineId, RuntimeId.

Этот API появился в Visual Studio 17 с обновлением 2 (DkmApiVersion.VS17Update2).

IDkmManagedHeapSampler

Интерфейс, реализованный с помощью sampler для получения выборки управляемой кучи.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: EngineId, RuntimeId.

Этот API появился в Visual Studio 12 RTM (DkmApiVersion.VS12RTM).

IDkmManagedHeapSampler174

Интерфейс, реализованный с помощью средства выборки кучи для отсрочки анализа корней.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: EngineId, RuntimeId.

Этот API появился в Visual Studio 17 с обновлением 4 (DkmApiVersion.VS17Update4).

IDkmManagedHeapSampler175

Интерфейс, реализованный с помощью выборки кучи для обнаружения повторяющихся строк.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: EngineId, RuntimeId.

Этот API появился в Visual Studio 17 с обновлением 5 (DkmApiVersion.VS17Update5).

IDkmManagedHeapSampler176

Интерфейс, реализованный с помощью выборки кучи для обнаружения повторяющихся строк.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: EngineId, RuntimeId.

Этот API появился в Visual Studio 17 с обновлением 6 (DkmApiVersion.VS17Update6).

IDkmManagedHeapSampler177

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

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: EngineId, RuntimeId.

Этот API появился в Visual Studio 17 с обновлением 7 (DkmApiVersion.VS17Update7).

IDkmManagedHeapSampler178

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

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: EngineId, RuntimeId.

Этот API появился в Visual Studio 17 с обновлением 8 (DkmApiVersion.VS17Update8).

IDkmManagedHeapWalker

Интерфейс, реализованный управляемым dm для перемещения по управляемой куче.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: EngineId, RuntimeId.

Этот API появился в Visual Studio 12 RTM (DkmApiVersion.VS12RTM).

IDkmManagedHeapWalker175

Интерфейс, реализованный управляемым dm для поиска строкового типа.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: EngineId, RuntimeId.

Этот API появился в Visual Studio 17 с обновлением 5 (DkmApiVersion.VS17Update5).

IDkmManagedHeapWalker177

Интерфейс, реализованный управляемым административным классом для выполнения обхода управляемой кучи. Предоставляет методы, связанные с отслеживанием управляемых ссылок на собственные объекты.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: EngineId, RuntimeId.

Этот API появился в Visual Studio 17 с обновлением 7 (DkmApiVersion.VS17Update7).

IDkmManagedReturnValueFetcher

Получает сведения об управляемом возвращаемом значении из ManagedDM для оценки.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, RuntimeId.

Этот API появился в Visual Studio 12 RTM (DkmApiVersion.VS12RTM).

IDkmManagedSteppingCodePathProvider

Используется ManagedDM для запроса сведений о пути кода.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, RuntimeId, TransportKind.

Этот API появился в Visual Studio 12 RTM (DkmApiVersion.VS12RTM).

IDkmManagedTaskServices

Предоставляет службы поставщикам задач и мониторам отладки для получения сведений об управляемых задачах. Это реализуется Shim Managed EE.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, RuntimeId, TransportKind.

Этот API появился в Visual Studio 12 RTM (DkmApiVersion.VS12RTM).

IDkmManagedTaskServices158

Предоставляет службы поставщикам задач и мониторам отладки для получения сведений об управляемых задачах. Это реализуется инспектором среды CLR. Этот интерфейс может быть изменен в будущих выпусках.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: EngineId, RuntimeId.

Этот API появился в Visual Studio 15 с обновлением 8 (DkmApiVersion.VS15Update8).

IDkmManagedThreadProperties

Предоставляет свойства управляемого потока, такие как идентификатор управляемого потока.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, TransportKind.

IDkmMCppSymbolProvider

Поставщик символов для управляемого C++.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: RuntimeId, SymbolProviderId.

Этот API появился в Visual Studio 14 с обновлением 1 (DkmApiVersion.VS14Update1).

IDkmMemoryOperation

Реализуется базовыми мониторами отладки для предоставления доступа к памяти целевого процесса. Этот интерфейс также реализуется компонентами более высокого уровня для обеспечения кэширования памяти. Базовые мониторы отладки отвечают за выполнение операций ввода-вывода в памяти, поддержку таблицы невидимых операций записи и предоставление событий при обновлении невидимой таблицы записи (с помощью DkmProcess.OnInstructionPatchInserted/Removed).

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, TransportKind.

IDkmMergedMonitorStackWalk

IDkmMergedMonitorStackWalk вызывается поставщиком стека. Он будет принимать решения между различными реализациями IDkmMonitorStackWalk для обхода частей стека, которые следует пройти внутри монитора (а не внутри подсистемы).

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId.

IDkmMergedMonitorStackWalk164

IDkmMergedMonitorStackWalk164 вызывается поставщиком стека. Он будет принимать решения между различными реализациями IDkmMonitorStackWalk для обхода частей стека, которые следует пройти внутри монитора (а не внутри подсистемы).

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId.

Этот API появился в Visual Studio 16 с обновлением 4 (DkmApiVersion.VS16Update4).

IDkmMinidumpQuery

Получает сведения об отлаживаемом минидампе.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, TransportKind.

Этот API появился в Visual Studio 12 RTM (DkmApiVersion.VS12RTM).

IDkmMinidumpQuery1610

Получает сведения об отлаживаемом минидампе.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, TransportKind.

Этот API появился в Visual Studio 16 с обновлением 10 (DkmApiVersion.VS16Update10).

IDkmMinidumpThreadInfo

Получает сведения о состоянии потока, хранящиеся в minidump.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, TransportKind.

Этот API появился в Visual Studio 17 RTM (DkmApiVersion.VS17RTM).

IDkmModuleCreateNotification

IDkmModuleCreateNotification реализуется компонентами, которые хотят ожидать события ModuleCreate. Целевой процесс может продолжать выполняться во время этого уведомления. ModuleCreate отправляется, когда поставщик символов загружает новые символы и, таким образом, создается новый DkmModule. DkmModule будет существовать только для экземпляров модуля с символами.

События ModuleCreate можно подавлять. В этом случае модуль будет невидим для компонентов выше уровня, на котором модуль был подавлен.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: CompilerVendorId, LanguageId, SymbolProviderId, TransportKind.

IDkmModuleInstanceDisabledNotification

Интерфейс, реализованный отладочными мониторами для выполнения любых обновлений при изменении свойства "Отключено" модуля.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId, TransportKind.

IDkmModuleInstanceLoadNotification

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

События ModuleInstanceLoad можно подавлять. В этом случае модуль будет невидим для компонентов выше уровня, на котором модуль был подавлен.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId, TransportKind.

IDkmModuleInstanceUnloadNotification

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

События ModuleInstanceUnload не могут быть подавлены. Однако если событие ModuleLoad было подавлено, то ModuleUnload прекратит обработку на уровне, на котором был подавлен ModuleLoad.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId, TransportKind.

IDkmModuleLocator

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

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId, TransportKind.

IDkmModuleMetadataStatusQuery

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

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId, TransportKind.

Этот API появился в Visual Studio 12 RTM (DkmApiVersion.VS12RTM).

IDkmModuleModifiedNotification

Компоненты должны реализовывать этот интерфейс, чтобы получать информацию о том, когда модуль изменяется из-за EnC или динамически генерируемого кода.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId, TransportKind.

Этот API появился в Visual Studio 14 RTM (DkmApiVersion.VS14RTM).

IDkmModuleSymbolSearchResult175

Позволяет получать результаты поиска символов для экземпляра модуля.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId, TransportKind.

Этот API появился в Visual Studio 17 с обновлением 3 (DkmApiVersion.VS17Update3).

IDkmModuleSymbolsLoaded

Интерфейс, реализованный базовыми мониторами отладки для запуска события загрузки символов.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId, TransportKind.

IDkmModuleSymbolsLoadedNotification

IDkmModuleSymbolsLoadedNotification реализуется компонентами, которые хотят прослушивать событие ModuleSymbolsLoaded. При срабатывании этого уведомления целевой процесс будет приостановлен и может быть проверен. ModuleSymbolsLoaded отправляется после загрузки символов для конкретного экземпляра модуля. Он отправляется либо при загрузке символов при загрузке библиотеки dll/exe в целевом процессе, либо после того, как пользователь запросит перезагрузить символы.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId, TransportKind.

IDkmModuleSymbolsReload

Позволяет заменить файл символов, лежащий в основе DkmModule.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId, TransportKind.

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

IDkmModuleSymbolsReload175

Позволяет заменить ISymUnmanagedReader, лежащий в основе DkmModule.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId, TransportKind.

Этот API появился в Visual Studio 17 с обновлением 3 (DkmApiVersion.VS17Update3).

IDkmModuleSymbolsReplacedNotification

IDkmModuleSymbolsReplacedNotification реализуется компонентами, которые хотят прослушивать событие ModuleSymbolsReplaced. Целевой процесс может продолжать выполняться во время этого уведомления. ModuleSymbolsReplaced активируется при замене символов модуля. Как правило, из-за таких операций, как декомпиляция.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: CompilerVendorId, LanguageId, SymbolProviderId, TransportKind.

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

IDkmModuleSymbolsUpdatedNotification

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

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId, TransportKind.

IDkmModuleUserCodeDeterminer

Интерфейс реализован для предоставления состояния Just-My-Code для модулей. Для поддержки окна модулей этот интерфейс должен быть реализован в компоненте интегрированной среды разработки, но его также можно реализовать на стороне монитора, если это полезно. Корпорация Майкрософт реализует этот интерфейс на стороне монитора для управляемого кода, но не собственного.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId, TransportKind.

Этот API появился в Visual Studio 12 RTM (DkmApiVersion.VS12RTM).

IDkmMonitorStackWalk

Проверяет часть стека из определенного экземпляра DkmRuntimeInstance и возвращает кадры из этой среды выполнения. IDkmMonitorStackWalk используется для выполнения этой прогулки на целевом компьютере и обычно делает эту прогулку без символов. Следует отметить, что для точной проходки стека монитора обычно требуется: 1. Монитор среды выполнения, чтобы полностью понять соглашение о вызовах своей базовой среды выполнения. Среда выполнения использует некоторый механизм, чтобы ей не нужен код из других сред выполнения, которые находятся в стеке для обхода. Например, среда CLR поддерживает диапазоны стека, поэтому, когда управляемый код отключается в машинный код, среда CLR по-прежнему может найти управляемый код без необходимости проходить через собственный код. -или- 2. Единое соглашение о вызовах, которому должен соответствовать весь код. Например, весь код должен соответствовать единообразию соглашения о вызовах в версиях Windows x64 и IA-64. Корпорация Майкрософт предоставит пять реализаций IDkmMonitorStackWalk: 1. Реализация для ICorDebug версии 2 2. Реализация для ICorDebug версии 4 3. Реализация для обхода PDATA x64/ia64. 4. Реализация Для ActiveScript. 5. Реализация по умолчанию, которая объединяет неизвестные регионы, которые будут использоваться в процессе обработчика.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, RuntimeId.

IDkmNameUndecorator

Этот API используется для отмены определения имен символов. Корпорация Майкрософт предоставляет реализацию этого метода для отмены расшивать имена символов в PDB.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: CompilerVendorId, LanguageId, SymbolProviderId, TransportKind.

IDkmNativeCppEditAndContinueNotification

Интерфейс, реализованный компонентами для прослушивания собственных уведомлений ENC.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId, TransportKind.

Этот API появился в Visual Studio 14 RTM (DkmApiVersion.VS14RTM).

IDkmNativeDebuggingEnableNotification

Интерфейс для обновления компонентов, когда собственная отладка включена или отключена для определенного процесса. Обратите внимание, что для Visual Studio 11 встроенная отладка не может быть включена или отключена в режиме реального времени, но будущие версии могут поддерживать эту функцию.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, TransportKind.

IDkmNativeEditAndContinueUpdate

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

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, RuntimeId, TransportKind.

Этот API появился в Visual Studio 14 RTM (DkmApiVersion.VS14RTM).

IDkmNativeEditAndContinueUpdate140A

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

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, RuntimeId, TransportKind.

Этот API появился в Visual Studio 14 с обновлением 1 (DkmApiVersion.VS14Update1).

IDkmNativeExportsEnableNotification

Интерфейс для обновления компонентов при включении или отключении isNativeExportsEnabled.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId.

IDkmNativeExportTableDecoder

Обеспечивает декодирование таблиц экспорта в windows PE-файлах.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId.

IDkmNativeExportTableDecoder150

Обеспечивает дополнительное декодирование таблиц экспорта в файлах Windows PE.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId, TransportKind.

Этот API появился в Visual Studio 15 RTM (DkmApiVersion.VS15RTM).

IDkmNativeJustMyCodeProvider158

Интерфейс для определения того, является ли конкретное расположение пользовательским кодом.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId.

Этот API появился в Visual Studio 15 с обновлением 8 (DkmApiVersion.VS15Update8).

IDkmNativeJustMyCodeSteppingEnableNotification

Интерфейс для обновления компонентов при включении или отключении собственного пошагового выполнения JustMyCode.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId.

Этот API появился в Visual Studio 15 с обновлением 8 (DkmApiVersion.VS15Update8).

IDkmNativeStackCallback

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

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, TransportKind.

IDkmNativeSteppingCallSiteProvider

Вызывается собственным iDkmSteppingCodePathDecoder для перечисления Native CodePaths.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId.

IDkmNativeSymbolProviderCallback

Интерфейс обратного вызова, реализованный поставщиком символов PDB для возврата сведений о символах в базовый монитор отладки. Как правило, этот интерфейс следует реализовать на компьютере Visual Studio. Реализации на стороне монитора отладки не могут вызываться.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: SymbolProviderId.

IDkmNativeSymbolProviderCallback120a

Необязательный интерфейс, который может быть реализован поставщиками собственных символов и использоваться собственным dm, чтобы разрешить пошаговое выполнение. Если не реализовано, собственный dm будет возвращен к IDkmNativeSymbolProviderCallback.GetNativeInstructionMetadataCallback и IDkmSymbolProviderCallback.GetSteppingRanges.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: RuntimeId, SymbolProviderId.

Этот API появился в Visual Studio 14 RTM (DkmApiVersion.VS14RTM).

IDkmNatvisComplexityLimitChangedNotification

Интерфейс для обновления компонентов при изменении предела сложности natvis.

Реализации этого интерфейса вызываются всегда (фильтрация не поддерживается). Чтобы уменьшить влияние на память, рекомендуется реализовать этот интерфейс в небольшой библиотеке DLL или настроить реализацию с параметром CallOnlyWhenLoaded="true".

Этот API появился в Visual Studio 17 с обновлением 7 (DkmApiVersion.VS17Update7).

IDkmNatvisRecursionLimitChangedNotification

Интерфейс для обновления компонентов при изменении ограничения рекурсии natvis.

Реализации этого интерфейса вызываются всегда (фильтрация не поддерживается). Чтобы уменьшить влияние на память, рекомендуется реализовать этот интерфейс в небольшой библиотеке DLL или настроить реализацию с параметром CallOnlyWhenLoaded="true".

Этот API появился в Visual Studio 17 с обновлением 7 (DkmApiVersion.VS17Update7).

IDkmNonDebugProcessExitNotification

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

Реализации этого интерфейса могут ограничивать, когда они вызываются с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: TransportKind.

Этот API появился в Visual Studio 16 с обновлением 9 (DkmApiVersion.VS16Update9).

IDkmObjectFavoritesProvider

Предоставляет интегрированной среде разработки функции добавления и удаления избранных элементов в объектах в окнах EE.

Реализации этого интерфейса могут ограничивать, когда они вызываются с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: CompilerVendorId, EngineId, LanguageId, RuntimeId, SymbolProviderId.

Этот API появился в Visual Studio 16 с обновлением 4 (DkmApiVersion.VS16Update4).

IDkmOutOfBandExceptionNotification

IDkmOutOfBandExceptionNotification реализуется компонентами, которые хотят прослушивать событие OutOfBandException. При появлении этого уведомления целевой процесс будет приостановлен и может быть проверен. Событие OutOfBandException предоставляет уведомления от отладочных мониторов об исключениях вне диапазона, которые происходят в целевом процессе во время отладки управляемого или собственного взаимодействия. Это уведомление о событии используется диспетчером исключений. Внеполосные события могут возникать в любое время (в том числе при остановке) и должны быть немедленно продолжены.

События OutOfBandException можно подавлять путем вызова DkmEventDescriptorS.Suppress().

Реализации этого интерфейса могут ограничивать, когда они вызываются с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, ExceptionCategory, RuntimeId.

Этот API появился в Visual Studio 11 с обновлением 1 (DkmApiVersion.VS11FeaturePack1).

IDkmOutOfBandProcessContinueNotification

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

Реализации этого интерфейса могут ограничивать, когда они вызываются с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, TransportKind.

Этот API появился в Visual Studio 11 с обновлением 1 (DkmApiVersion.VS11FeaturePack1).

IDkmOutOfProcessSymbolLoadingEnabledNotification

Интерфейс для обновления компонентов при загрузке собственных символов из процесса включен или отключен.

Реализации этого интерфейса могут ограничивать, когда они вызываются с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId.

Этот API появился в Visual Studio 16 RTM (DkmApiVersion.VS16RTMPreview).

IDkmPendingFileLineBreakpointCallback

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

Реализации этого интерфейса могут ограничивать, когда они вызываются с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, CompilerVendorId, EngineId, LanguageId, SourceId.

IDkmPerformanceMeasurement140

Интерфейс, используемый для сбора данных о производительности отладчика.

Реализации этого интерфейса могут ограничивать, когда они вызываются с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, TransportKind.

Этот API появился в Visual Studio 14 RTM (DkmApiVersion.VS14RTM).

IDkmProcessContinueNotification

Предоставляет уведомление о возобновлении целевого процесса. Это происходит после того, как пользователь достигнет F5, начнется func-eval, событие приостановки завершено (например, загрузка модуля) или событие остановки завершено. Эта основная цель этого события — разрешить компонентам сбрасывать все имеющиеся кэши.

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

Реализации этого интерфейса могут ограничивать, когда они вызываются с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, TransportKind.

IDkmProcessCreateNotification

IDkmProcessCreateNotification реализуется компонентами, которые хотят прослушивать событие ProcessCreate. При появлении этого уведомления целевой процесс будет приостановлен и может быть проверен. ProcessCreate активируется при создании объекта DkmProcess. Это означает, что отладчик начал присоединение к указанному процессу. В сценариях запуска это событие запускается до того, как будет разрешено выполнять любой код в целевом процессе.

Реализации могут только грубо фильтровать в зависимости от типа кода в целевом процессе, и обработчики также будут выполняться, когда поток пользовательского интерфейса блокируется в ожидании возврата обработчика. По этим причинам часто лучше прослушивать событие RuntimeInstanceLoad.

Реализации этого интерфейса могут ограничивать, когда они вызываются с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, TransportKind.

IDkmProcessDebuggerInitializeWaiter

Необязательный интерфейс, реализованный базовыми мониторами отладки отладки, которые используют один поток событий для нескольких процессов.

Реализации этого интерфейса могут ограничивать, когда они вызываются с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, TransportKind.

Этот API появился в Visual Studio 12 RTM (DkmApiVersion.VS12RTM).

IDkmProcessExecutionNotification

Предоставляет уведомление о том, что процесс приостанавливается или возобновляется.

Реализации этого интерфейса могут ограничивать, когда они вызываются с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, TransportKind.

Этот API появился в Visual Studio 14 RTM (DkmApiVersion.VS14RTM).

IDkmProcessExitNotification

IDkmProcessExitNotification реализуется компонентами, которые хотят прослушивать событие ProcessExit. Целевой процесс может продолжать выполняться во время этого уведомления. ProcessExit активируется, когда отладчик больше не выполняет отладку указанного процесса. Это может быть вызвано тем, что отладчик отсоединился от указанного процесса или процесс завершился.

Реализации этого интерфейса могут ограничивать, когда они вызываются с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, TransportKind.

IDkmProcessLaunchEnvironmentFilter

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

Реализации этого интерфейса могут ограничивать, когда они вызываются с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: EngineId.

IDkmProcessLaunchEnvironmentFilter140

Необязательный интерфейс, который можно реализовать для настройки среды целевого процесса перед его запуском. Это обновленная версия IDkmProcessLaunchEnvironmentFilter, которая была добавлена для Visual Studio 14.0 для предоставления дополнительных сведений фильтрам среды. Visual Studio 14+ будет вызывать как старый, так и новый API, поэтому компонент, как правило, не должен реализовывать оба интерфейса.

Реализации этого интерфейса могут ограничивать, когда они вызываются с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: EngineId, TransportKind.

Этот API появился в Visual Studio 14 RTM (DkmApiVersion.VS14RTM).

IDkmProcessQueryOperation

Состояние запросов о процессе отладки.

Реализации этого интерфейса могут ограничивать, когда они вызываются с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, TransportKind.

IDkmProcessSnapshotAddedNotification

IDkmProcessSnapshotAddedNotification реализуется компонентами, которые хотят прослушивать событие ProcessSnapshotAdded. Целевой процесс может продолжать выполняться во время этого уведомления. ProcessSnapshotAdded запускается при создании DkmProcessSnapshot и добавлении в связанный DkmProcess.

Реализации этого интерфейса могут ограничивать, когда они вызываются с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, TransportKind.

Этот API появился в Visual Studio 15 с обновлением 6 (DkmApiVersion.VS15Update6).

IDkmProcessSnapshotRemovedNotification

IDkmProcessSnapshotRemovedNotification реализуется компонентами, которые хотят прослушивать событие ProcessSnapshotRemoved. Целевой процесс может продолжать выполняться во время этого уведомления. ProcessSnapshotRemoved запускается при удалении DkmProcessSnapshot из связанного DkmProcess.

Реализации этого интерфейса могут ограничивать, когда они вызываются с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, TransportKind.

Этот API появился в Visual Studio 15 с обновлением 6 (DkmApiVersion.VS15Update6).

IDkmProductionAgent

Операции агента, связанные с рабочей диагностика. Агент будет запущен с перенаправлением STDIN и STDOUT. Клиент может выполнять запись в STDIN, отправляя строку UTF8 через метод SendMessage. При записи процесса в STDOUT вызывается DkmCustomMessage::SendToVsService с идентификатором источника DkmProductionAgent::UniqueId и содержимым в кодировке UTF8 в параметре param1.

Реализации этого интерфейса всегда вызываются (фильтрация не поддерживается). Чтобы уменьшить влияние на память, рекомендуется реализовать этот интерфейс в небольшой библиотеке DLL или настроить реализацию с параметром CallOnlyWhenLoaded="true".

Этот API появился в Visual Studio 15 с обновлением 2 (DkmApiVersion.VS15Update2).

IDkmProductionConnection

Операции, связанные с производственными диагностика.

Реализации этого интерфейса могут ограничивать, когда они вызываются с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: TransportKind.

Этот API появился в Visual Studio 15 с обновлением 2 (DkmApiVersion.VS15Update2).

IDkmRecordedProcessInfoProvider

Интерфейс, реализованный базовыми службами DM для предоставления записанных сведений о процессе без их отладки.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: TransportKind.

Этот API появился в Visual Studio 16 RTM (DkmApiVersion.VS16RTM).

IDkmRegisterWrite

Предоставляет возможность считывания или записи регистрового значения по константе CV.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, RuntimeId, TransportKind.

IDkmRequireFullTrustForSourceServerNotification

Интерфейс для обновления компонентов при включении или отключении RequireFullTrustForSourceServer.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId.

IDkmReturnValuesNotification

IDkmReturnValuesNotification реализуется компонентами, которые хотят прослушивать событие ReturnValues. Целевой процесс может продолжать выполняться во время этого уведомления. Событие ReturnValues отправляется на шаге при сборе одного или нескольких DkmRawReturnValues. Фактическая оценка будет выполняться для события StepComplete в потоке, в котором были записаны возвращаемые значения.

События ReturnValues можно подавлять, вызывая DkmEventDescriptorS.Suppress().

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, RuntimeId, SourceId.

IDkmRunningProcessInfoProvider

Интерфейс, реализованный базовыми службами DM для предоставления списка процессов и предоставления основных сведений о выполняемых процессах без присоединения отладчика к процессу.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: TransportKind.

IDkmRunningProcessInfoProvider160

Интерфейс, реализованный базовыми службами DM для предоставления списка процессов и предоставления основных сведений о выполняемых процессах без присоединения отладчика к процессу.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: TransportKind.

Этот API появился в Visual Studio 16 RTM (DkmApiVersion.VS16RTMPreview).

IDkmRuntimeBreakpointConditionFailedNotification

IDkmRuntimeBreakpointConditionFailedNotification реализуется компонентами, которые хотят прослушивать событие RuntimeBreakpointConditionFailed. IDkmRuntimeBreakpointConditionFailedNotification вызывается после всех реализаций IDkmRuntimeBreakpointConditionFailedReceived. При вызове этого уведомления целевой процесс останавливается, и разработчики могут либо проверить процесс, либо вызвать его выполнение контролируемым образом (скольжение, func-eval).

Предоставляет уведомление о том, что была достигнута точка останова среды выполнения, но условие точки останова сталкивается с ошибкой среды выполнения.

События RuntimeBreakpointConditionFailed можно подавлять путем вызова DkmEventDescriptorS.Suppress().

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, RuntimeId, SourceId.

Этот API появился в Visual Studio 16 с обновлением 3 (DkmApiVersion.VS16Update3).

IDkmRuntimeBreakpointConditionFailedReceived

IDkmRuntimeBreakpointConditionFailedReceived реализуется компонентами, которые хотят прослушивать событие RuntimeBreakpointConditionFailed. IDkmRuntimeBreakpointConditionFailedReceived вызывается перед IDkmRuntimeBreakpointConditionFailedNotification. В этом уведомлении невозможно выполнить целевой процесс (без func-eval, без скольжения).

Предоставляет уведомление о том, что была достигнута точка останова среды выполнения, но условие точки останова сталкивается с ошибкой среды выполнения.

События RuntimeBreakpointConditionFailed можно подавлять путем вызова DkmEventDescriptorS.Suppress().

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, RuntimeId, SourceId.

Этот API появился в Visual Studio 16 с обновлением 3 (DkmApiVersion.VS16Update3).

IDkmRuntimeBreakpointHitWithErrorNotification

IDkmRuntimeBreakpointHitWithErrorNotification реализуется компонентами, которые хотят прослушивать событие RuntimeBreakpointHitWithError. IDkmRuntimeBreakpointHitWithErrorNotification вызывается после всех реализаций IDkmRuntimeBreakpointHitWithErrorReceived. При вызове этого уведомления целевой процесс останавливается, и разработчики могут либо проверить процесс, либо вызвать его выполнение контролируемым образом (скольжение, func-eval).

Предоставляет уведомление о том, что была достигнута точка останова среды выполнения, но обработка привела к невосстановляемой ошибке. Процесс остановлен, а точка останова теперь находится в состоянии ошибки и больше не будет достигнута.

События RuntimeBreakpointHitWithError можно подавлять, вызывая DkmEventDescriptorS.Suppress().

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, RuntimeId, SourceId.

Этот API появился в Visual Studio 16 RTM (DkmApiVersion.VS16RTM).

IDkmRuntimeBreakpointHitWithErrorReceived

IDkmRuntimeBreakpointHitWithErrorReceived реализуется компонентами, которые хотят прослушивать событие RuntimeBreakpointHitWithError. IDkmRuntimeBreakpointHitWithErrorReceived вызывается перед IDkmRuntimeBreakpointHitWithErrorNotification. В этом уведомлении невозможно выполнить целевой процесс (без func-eval, без скольжения).

Предоставляет уведомление о том, что была достигнута точка останова среды выполнения, но обработка привела к невосстановляемой ошибке. Процесс остановлен, а точка останова теперь находится в состоянии ошибки и больше не будет достигнута.

События RuntimeBreakpointHitWithError можно подавлять, вызывая DkmEventDescriptorS.Suppress().

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, RuntimeId, SourceId.

Этот API появился в Visual Studio 16 RTM (DkmApiVersion.VS16RTM).

IDkmRuntimeBreakpointNotification

IDkmRuntimeBreakpointNotification реализуется компонентами, которые хотят ожидать события RuntimeBreakpoint. IDkmRuntimeBreakpointNotification вызывается после всех реализаций IDkmRuntimeBreakpointReceived. При вызове этого уведомления целевой процесс останавливается, и разработчики могут либо проверить процесс, либо вызвать его выполнение контролируемым образом (скольжение, func-eval).

Предоставляет уведомление о достижении точки останова среды выполнения (DkmRuntimeBreakpoint). Точки останова среды выполнения — это низкоуровневые объекты точек останова. Уведомление для точек останова более высокого уровня (DkmPendingBreakpoint/DkmBoundBreakpoint) получается с помощью события BoundBreakpointHit.

События RuntimeBreakpoint можно подавлять путем вызова DkmEventDescriptorS.Suppress().

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, RuntimeId, SourceId.

IDkmRuntimeBreakpointReceived

IDkmRuntimeBreakpointReceived реализуется компонентами, которые хотят ожидать события RuntimeBreakpoint. IDkmRuntimeBreakpointReceived вызывается перед IDkmRuntimeBreakpointNotification. В этом уведомлении невозможно выполнить целевой процесс (без func-eval, без скольжения).

Предоставляет уведомление о достижении точки останова среды выполнения (DkmRuntimeBreakpoint). Точки останова среды выполнения — это низкоуровневые объекты точек останова. Уведомление для точек останова более высокого уровня (DkmPendingBreakpoint/DkmBoundBreakpoint) получается с помощью события BoundBreakpointHit.

События RuntimeBreakpoint можно подавлять путем вызова DkmEventDescriptorS.Suppress().

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, RuntimeId, SourceId.

IDkmRuntimeDataBreakpointHitNotification

IDkmRuntimeDataBreakpointHitNotification реализуется компонентами, которые хотят прослушивать событие RuntimeDataBreakpointHit. IDkmRuntimeDataBreakpointHitNotification вызывается после всех реализаций IDkmRuntimeDataBreakpointHitReceived. При вызове этого уведомления целевой процесс останавливается, и разработчики могут либо проверить процесс, либо вызвать его выполнение контролируемым образом (скольжение, func-eval).

Предоставляет уведомление о том, что достигнута точка останова для данных среды выполнения.

События RuntimeDataBreakpointHit можно подавлять путем вызова DkmEventDescriptorS.Suppress().

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, RuntimeId, SourceId.

Этот API появился в Visual Studio 16 RTM (DkmApiVersion.VS16RTM).

IDkmRuntimeDataBreakpointHitReceived

IDkmRuntimeDataBreakpointHitReceived реализуется компонентами, которые хотят прослушивать событие RuntimeDataBreakpointHit. IDkmRuntimeDataBreakpointHitReceived вызывается перед IDkmRuntimeDataBreakpointHitNotification. В этом уведомлении невозможно выполнить целевой процесс (без func-eval, без скольжения).

Предоставляет уведомление о том, что достигнута точка останова для данных среды выполнения.

События RuntimeDataBreakpointHit можно подавлять путем вызова DkmEventDescriptorS.Suppress().

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, RuntimeId, SourceId.

Этот API появился в Visual Studio 16 RTM (DkmApiVersion.VS16RTM).

IDkmRuntimeDisassemblyProvider

Используется для деассемблировать инструкции в адресном пространстве отладчика относительно конкретной среды выполнения.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, RuntimeId, TransportKind.

Этот API появился в Visual Studio 12 RTM (DkmApiVersion.VS12RTM).

IDkmRuntimeFunctionResolver

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

Фильтрация компонентов на основе LanguageId и (или) VendorId должна гарантировать, что Guid.Empty является одним из допустимых значений в фильтре. Дополнительные сведения см. в разделе DkmRuntimeFunctionResolutionRequest.CompilerId.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, CompilerVendorId, EngineId, LanguageId.

IDkmRuntimeFunctionResolverClient

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

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, CompilerVendorId, EngineId, LanguageId.

IDkmRuntimeHandleComparer

Этот интерфейс позволяет компонентам Concord сравнивать значения двух объектов ICorDebugHandleValue путем маршрутизации вызовов GetValue через оболочку EE оболочки, чтобы настроить правильный LocalContext. Вызов GetValue непосредственно к объекту ICorDebugHandleValue из Concord приведет к возникновению исключения из узла VIL.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, RuntimeId, TransportKind.

IDkmRuntimeInstanceLoadCompleteNotification

IDkmRuntimeInstanceLoadCompleteNotification реализуется компонентами, которые хотят прослушивать событие RuntimeInstanceLoadComplete. При срабатывании этого уведомления целевой процесс будет приостановлен и может быть проверен. RuntimeInstanceLoadComplete отправляется базовым монитором отладки при запуске или присоединении к процессу.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, RuntimeId, TransportKind.

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

IDkmRuntimeInstanceLoadNotification

IDkmRuntimeInstanceLoadNotification реализуется компонентами, которые хотят ожидать события RuntimeInstanceLoad. Целевой процесс может продолжать выполняться во время этого уведомления. RuntimeInstanceLoad запускается при создании объекта DkmRuntimeInstance. Это событие можно использовать для обнаружения отладки определенного типа кода (например, машинного кода) в этом целевом процессе. В сценариях запуска событие RuntimeInstanceLoad будет запускаться до того, как любой код указанного типа сможет запуститься в целевом процессе. При отладке машинного кода сюда входит весь код в целевом процессе.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, RuntimeId, TransportKind.

IDkmRuntimeInstanceUnloadNotification

IDkmRuntimeInstanceUnloadNotification реализуется компонентами, которые хотят ожидать события RuntimeInstanceUnload. Целевой процесс может продолжать выполняться во время этого уведомления. RuntimeInstanceUnload запускается, когда среда выполнения выгружается из целевого процесса.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, RuntimeId, TransportKind.

IDkmRuntimeManagedHardwareDataBreakpointInfoProvider

Предоставляет значения СРЕДЫ CLR для данных управляемого оборудования в секунду.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, RuntimeId, SourceId.

Этот API появился в Visual Studio 16 RTM (DkmApiVersion.VS16RTM).

IDkmRuntimeMonitorBreakpointHandler

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

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, RuntimeId, SourceId.

IDkmRuntimeSetNextStatement

IDkmRuntimeSetNextStatement — это интерфейсные мониторы среды выполнения, реализующие для поддержки инструкции set next.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId, TransportKind.

IDkmRuntimeStepper

IDkmRuntimeStepper — это мониторы среды выполнения интерфейса, реализующие для поддержки пошагового выполнения.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, RuntimeId, TransportKind.

IDkmScriptDocumentContentInsertNotification

IDkmScriptDocumentContentInsertNotification реализуется компонентами, которые хотят прослушивать событие ScriptDocumentContentInsert. Целевой процесс может продолжать выполняться во время этого уведомления. Уведомление о добавлении нового содержимого в целевой процесс. Для агрегатных документов (задан параметр DkmScriptDocumentFlags.AggregateDocument) это новый раздел документа.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId.

IDkmScriptDocumentContentRemoveNotification

IDkmScriptDocumentContentRemoveNotification реализуется компонентами, которые хотят прослушивать событие ScriptDocumentContentRemove. Целевой процесс может продолжать выполняться во время этого уведомления. Уведомление об удалении содержимого из целевого процесса. Для агрегатных документов (задан параметр DkmScriptDocumentFlags.AggregateDocument) это будет соответствовать удаленному текстовому разделу.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId.

IDkmScriptDocumentProvider

Реализуется компонентами, которые создают объекты DkmScriptDocument для предоставления содержимого документа и уведомлений при изменении содержимого.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId.

IDkmScriptDocumentQuery

API, реализованный локальным агентом скрипта для сопоставления документов скриптов с запросами точек останова.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId.

IDkmScriptDocumentSourceProjectItemChanged

Интерфейс для обновления компонентов, когда путь к элементу проекта задан для документа скрипта.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId.

IDkmScriptDocumentSymbolProvider

Реализуется компонентами, которые создают объекты DkmScriptDocument и используют их в качестве основы разрешения символов. Этот интерфейс не нужно реализовывать системой документов скриптов, которая оставляет DkmResolvedDocument.ScriptDocument как null.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId.

IDkmScriptDocumentTreeNodeCreateNotification

IDkmScriptDocumentTreeNodeCreateNotification реализуется компонентами, которые хотят прослушивать событие ScriptDocumentTreeNodeCreate. При срабатывании этого уведомления целевой процесс будет приостановлен и может быть проверен. Уведомление при создании нового объекта DkmScriptDocumentTreeNode.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, RuntimeId.

IDkmScriptDocumentTreeNodeUnloadNotification

IDkmScriptDocumentTreeNodeUnloadNotification реализуется компонентами, которые хотят прослушивать событие ScriptDocumentTreeNodeUnload. Целевой процесс может продолжать выполняться во время этого уведомления. Уведомление о выгрузке DkmScriptDocumentTreeNode из целевого процесса.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, RuntimeId.

IDkmScriptJmcStateChangeNotification

IDkmScriptJmcStateChangeNotification реализуется компонентами, которые хотят получать уведомления при изменении состояния JMC для документа скрипта.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId.

Этот API появился в Visual Studio 12 RTM (DkmApiVersion.VS12RTM).

IDkmScriptSymbolCallback

Интерфейс обратного вызова, реализованный поставщиками символов скриптов для поддержки пошаговой настройки для языков, которые компилируются в JavaScript (или, возможно, других языков скриптов).

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: RuntimeId, SymbolProviderId.

IDkmScriptSymbolsUpdatedNotification

IDkmScriptSymbolsUpdatedNotification реализуется компонентами, которые хотят прослушивать событие ScriptSymbolsUpdated. При срабатывании этого уведомления целевой процесс будет приостановлен и может быть проверен. Уведомление о том, что состояние символа для одного или нескольких документов скрипта было обновлено. Используется для повторной привязки точек останова в модулях на основе скриптов.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, RuntimeId, TransportKind.

IDkmSerializedProcessInfoProvider

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

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, TransportKind.

Этот API появился в Visual Studio 16 с обновлением 8 (DkmApiVersion.VS16Update8).

IDkmSerializedProcessInfoProviderFactory

Интерфейс фабрики для получения экземпляра IDkmSerializedProcessInfoProvider.

Реализации этого интерфейса могут ограничивать, когда они вызываются с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: TransportKind.

Этот API появился в Visual Studio 16 с обновлением 8 (DkmApiVersion.VS16Update8).

IDkmSetNextStatementQuery

Позволяет пользовательскому интерфейсу запрашивать, можно ли задать адрес для текущей инструкции. Должен быть реализован на стороне клиента, так как его можно вызывать в сценариях, требующих быстрого результата, например перетаскивания IP-адреса в редакторе отладчика.

Реализации этого интерфейса могут ограничивать, когда они вызываются с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId, TransportKind.

IDkmSingleStepCompleteNotification

IDkmSingleStepCompleteNotification реализуется компонентами, которые хотят прослушивать событие SingleStepComplete. IDkmSingleStepCompleteNotification вызывается после всех реализаций IDkmSingleStepCompleteReceived. При вызове этого уведомления целевой процесс останавливается, и разработчики могут либо проверить процесс, либо вызвать его выполнение контролируемым образом (скольжение, func-eval).

Отправляется по завершении одношагового выполнения потока.

События SingleStepComplete можно подавлять путем вызова DkmEventDescriptorS.Suppress().

Реализации этого интерфейса могут ограничивать, когда они вызываются с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, SourceId.

IDkmSingleStepCompleteReceived

IDkmSingleStepCompleteReceived реализуется компонентами, которые хотят прослушивать событие SingleStepComplete. IDkmSingleStepCompleteReceived вызывается перед IDkmSingleStepCompleteNotification. В этом уведомлении невозможно вызвать выполнение целевого процесса (без func-eval, без скольжения).

Отправляется по завершении одношагового выполнения потока.

События SingleStepComplete можно подавлять путем вызова DkmEventDescriptorS.Suppress().

Реализации этого интерфейса могут ограничивать, когда они вызываются с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, SourceId.

IDkmSourceLinkQuery

Этот API используется для чтения Source Link информации.

Реализации этого интерфейса могут ограничивать, когда они вызываются с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: CompilerVendorId, LanguageId, SymbolProviderId, TransportKind.

Этот API появился в Visual Studio 15 RTM (DkmApiVersion.VS15RTM).

IDkmSourceLinkSymbolQuery

Этот API используется для чтения Source Link сведений о конфигурации из поставщика символов.

Реализации этого интерфейса могут ограничивать, когда они вызываются с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: CompilerVendorId, LanguageId, SymbolProviderId, TransportKind.

Этот API появился в Visual Studio 17 RTM (DkmApiVersion.VS17RTM).

IDkmSourceServerSymbolQuery

Этот API используется для чтения сведений о данных исходного сервера из поставщика символов.

Реализации этого интерфейса могут ограничивать, когда они вызываются с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: CompilerVendorId, LanguageId, SymbolProviderId, TransportKind.

IDkmStackProvider

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

Реализации этого интерфейса могут ограничивать, когда они вызываются с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId.

IDkmStackWalkFrameAnnotationTextProvider

Предоставляет текст префикса для заметки к кадру стека.

Реализации этого интерфейса могут ограничивать, когда они вызываются с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: SourceId.

Этот API появился в Visual Studio 15 с обновлением 8 (DkmApiVersion.VS15Update8).

IDkmStackWalkFrameInterfaceProvider

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

ПРИМЕЧАНИЕ. API контейнера данных не следует использовать из реализации возвращенного пользовательского интерфейса.

Реализации этого интерфейса могут ограничивать, когда они вызываются с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId, TransportKind.

IDkmStackWalkFrameInterfaceProvider2

Этот интерфейс реализуется управляемым монитором отладки и предоставляет доступ к ICorDebugFrame.

ПРИМЕЧАНИЕ. API контейнера данных не следует использовать из реализации возвращенного пользовательского интерфейса.

Реализации этого интерфейса могут ограничивать, когда они вызываются с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, RuntimeId, TransportKind.

Этот API появился в Visual Studio 14 RTM (DkmApiVersion.VS14RTM).

IDkmStartDebuggingOperations

Этот интерфейс содержит API для запуска нового процесса в отладчике или подключения отладчика к существующему процессу.

Реализации этого интерфейса могут ограничивать, когда они вызываются с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, TransportKind.

IDkmStepCompleteNotification

IDkmStepCompleteNotification реализуется компонентами, которые хотят прослушивать событие StepComplete. IDkmStepCompleteNotification вызывается после всех реализаций IDkmStepCompleteReceived. При вызове этого уведомления целевой процесс останавливается, и разработчики могут либо проверить процесс, либо вызвать его выполнение контролируемым образом (скольжение, func-eval).

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

События StepComplete можно подавлять путем вызова DkmEventDescriptorS.Suppress().

Реализации этого интерфейса могут ограничивать, когда они вызываются с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, RuntimeId, SourceId.

IDkmStepCompleteReceived

IDkmStepCompleteReceived реализуется компонентами, которые хотят прослушивать событие StepComplete. IDkmStepCompleteReceived вызывается перед IDkmStepCompleteNotification. В этом уведомлении невозможно вызвать выполнение целевого процесса (без func-eval, без скольжения).

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

События StepComplete можно подавлять путем вызова DkmEventDescriptorS.Suppress().

Реализации этого интерфейса могут ограничивать, когда они вызываются с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, RuntimeId, SourceId.

IDkmStepOverPropertiesAndOperatorsEnableNotification

Интерфейс для обновления компонентов при включении или отключении IsStepOverPropertiesAndOperatorsEnabled.

Реализации этого интерфейса могут ограничивать, когда они вызываются с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId.

IDkmSteppingCodePathProvider

Используется AD7 для пошагового выполнения определенных параметров.

Реализации этого интерфейса могут ограничивать, когда они вызываются с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: CompilerVendorId, LanguageId, RuntimeId, SymbolProviderId.

IDkmSteppingManager

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

Реализации этого интерфейса могут ограничивать, когда они вызываются с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId.

IDkmSteppingManagerCallback

Позволяет мониторам среды выполнения получать сведения от диспетчера пошагового выполнения.

Реализации этого интерфейса могут ограничивать, когда они вызываются с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, RuntimeId, SourceId.

IDkmSteppingManagerCallback11a

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

Реализации этого интерфейса могут ограничивать, когда они вызываются с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, RuntimeId, SourceId.

Этот API появился в Visual Studio 11 с обновлением 1 (DkmApiVersion.VS11FeaturePack1).

IDkmSteppingManagerCallback169

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

Реализации этого интерфейса могут ограничивать, когда они вызываются с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, RuntimeId, SourceId.

Этот API появился в Visual Studio 16 с обновлением 9 (DkmApiVersion.VS16Update9).

IDkmStopDebuggingOperations

Этот интерфейс содержит API для остановки отладки. Эти интерфейсы должны быть реализованы базовыми мониторами отладки. Этот интерфейс также можно реализовать, чтобы настроить процесс остановки отладки для конкретного приложения. Например, компонент может повторно реализовать Terminate, чтобы отладчик корректно завершил работу приложения вместо использования API TerminateProcess Win32.

Реализации этого интерфейса могут ограничивать, когда они вызываются с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, TransportKind.

IDkmStowedExceptionProvider

Интерфейс, реализованный минидампоном BDM для запроса сведений об исключении stowed.

Реализации этого интерфейса могут ограничивать, когда они вызываются с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, TransportKind.

Этот API появился в Visual Studio 12 с обновлением 3 (DkmApiVersion.VS12Update3).

IDkmSuppressOptimizationsEnableNotification

Интерфейс для обновления компонентов при включении или отключении IsSuppressOptimizationsEnabled.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId.

IDkmSymbolAlternateSourcePositionQuery

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

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: RuntimeId, SymbolProviderId.

Этот API появился в Visual Studio 12 с обновлением 3 (DkmApiVersion.VS12Update3).

IDkmSymbolCompilerIdQuery

Этот API используется для получения идентификатора компилятора для заданного символа. Он реализуется поставщиками символов, поддерживающими хранилища символов, где двоичный файл может содержать несколько языков. Иными словами, этот интерфейс необходимо реализовать только в том случае, если DkmModule.CompilerId имеет значение Guid.Empty/Guid.Empty.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: RuntimeId, SymbolProviderId.

IDkmSymbolCompilerIdQueryCallback

Этот API используется для получения идентификатора компилятора для заданного символа. Он реализуется поставщиками символов, поддерживающими хранилища символов, где двоичный файл может содержать несколько языков. Иными словами, этот интерфейс необходимо реализовать только в том случае, если DkmModule.CompilerId имеет значение Guid.Empty/Guid.Empty.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: RuntimeId, SymbolProviderId.

IDkmSymbolDisassemblyQuery

Этот API используется для разрешения символов в окне дизассемблирования.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: RuntimeId, SymbolProviderId.

IDkmSymbolDocumentCollectionQuery

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

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: CompilerVendorId, LanguageId, SymbolProviderId, TransportKind.

IDkmSymbolDocumentSpanQuery

API, реализованный поставщиками символов, позволяет диспетчеру точек останова и другим компонентам запрашивать карту "document text span-symbol>", которая находится в хранилище символов.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: SymbolProviderId.

IDkmSymbolFileBytesQuery

Этот API используется для получения необработанных байтов файла символов из удаленной части.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: CompilerVendorId, LanguageId, SymbolProviderId, TransportKind.

Этот API появился в микрообновление Visual Studio 14 с обновлением 3 (DkmApiVersion.VS14Update3MicroUpdate).

IDkmSymbolFunctionResolver

Этот интерфейс реализуется средствами оценки выражений на основе символов для сопоставления между выражением функции или адреса и представленными им инструкциями. Используется для привязки точек останова функций.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, CompilerVendorId, EngineId, LanguageId, SymbolProviderId.

IDkmSymbolHiddenAttributeQuery

Этот API используется для чтения сведений о символе.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: RuntimeId, SymbolProviderId.

IDkmSymbolLocator

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

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: SymbolProviderId, TransportKind.

IDkmSymbolLocator174

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

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId, TransportKind.

Этот API появился в Visual Studio 17 с обновлением 4 (DkmApiVersion.VS17Update4).

IDkmSymbolLocatorCallback170

Обеспечивает обратные вызовы указателя символов со стороны сервера.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId, TransportKind.

Этот API появился в Visual Studio 17 RTM (DkmApiVersion.VS17RTM).

IDkmSymbolLocatorCallback177

Обеспечивает обратные вызовы указателя символов со стороны сервера.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId, TransportKind.

Этот API появился в Visual Studio 17 с обновлением 7 (DkmApiVersion.VS17Update7).

IDkmSymbolMemoryReader

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

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId, TransportKind.

IDkmSymbolPathChangeNotification

Интерфейс для обновления компонентов при изменении параметров символов.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId.

IDkmSymbolProviderCallback

Интерфейс обратного вызова, который реализуется поставщиками символов для предоставления сведений из хранилища символов в отладочные мониторы.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: SymbolProviderId.

IDkmSymbolQuery

Этот API используется для чтения сведений о символе.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: SymbolProviderId.

IDkmSymbolQueryCallback

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

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: RuntimeId, SymbolProviderId.

IDkmSymbolStackWalk

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

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, SymbolProviderId.

IDkmTaskProvider

Интерфейс, реализованный компонентом поставщика задач для получения сведений о задачах. Этот интерфейс может быть изменен в будущих версиях Visual Studio.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, TaskProviderId.

IDkmTaskProvider165

Интерфейс, реализованный компонентом поставщика задач для асинхронного получения сведений о задачах. Этот интерфейс может быть изменен в будущих версиях Visual Studio.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: EngineId, RuntimeId, SourceId, TaskProviderId.

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

IDkmTaskProviderCreateNotification

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

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, RuntimeId, TaskProviderId.

IDkmTaskProviderInitialize

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

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, TransportKind.

IDkmTaskSynchronizationObjectProvider

Интерфейс, реализованный компонентами поставщика задач для предоставления набора объектов синхронизации, принадлежащих задаче. Этот интерфейс может быть изменен в будущих версиях Visual Studio.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, TaskProviderId.

IDkmTerminalLauncher

Интерфейс обратного вызова, используемый для запуска нового терминала (консоли), в котором будет запущен целевой процесс.

Реализации этого интерфейса могут ограничивать вызов с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: TransportKind.

Этот API появился в Visual Studio 16 с обновлением 9 (DkmApiVersion.VS16Update9).

IDkmThreadContextOperation

Операции, предоставляемые базовым монитором отладки для получения и обновления контекста потока (регистрируемых значений).

Реализации этого интерфейса могут ограничивать, когда они вызываются с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, TransportKind.

IDkmThreadCreateNotification

IDkmThreadCreateNotification реализуется компонентами, которые хотят прослушивать событие ThreadCreate. При появлении этого уведомления целевой процесс будет приостановлен и может быть проверен. ThreadCreate запускается при запуске нового потока в целевом процессе.

События ThreadCreate можно подавлять. В этом случае поток будет невидим для компонентов выше уровня, на котором поток был подавлен.

Реализации этого интерфейса могут ограничивать, когда они вызываются с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, TransportKind.

IDkmThreadCurrentWinRtExceptionQuery

Этот интерфейс реализуется мониторами отладки среды выполнения для возврата последних сведений об исключении WinRT в заданном потоке.

Реализации этого интерфейса могут ограничивать, когда они вызываются с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, TransportKind.

Этот API появился в Visual Studio 12 RTM (DkmApiVersion.VS12RTM).

IDkmThreadDisplayPropertiesQuery

Используется для определения категории потока.

Реализации этого интерфейса могут ограничивать, когда они вызываются с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, RuntimeId, TransportKind.

IDkmThreadExitNotification

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

Реализации этого интерфейса могут ограничивать, когда они вызываются с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, TransportKind.

IDkmThreadLocationProvider

Предоставляет расположение потока, отображаемого в окне "Потоки" или раскрывающегося списка потоков на панели инструментов "Расположение отладки". Это реализуется компонентом поставщика стека Майкрософт.

Реализации этого интерфейса могут ограничивать, когда они вызываются с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, TransportKind.

IDkmThreadNameChangeNotification

IDkmThreadNameChangeNotification реализуется компонентами, которые хотят прослушивать событие ThreadNameChange. При появлении этого уведомления целевой процесс будет приостановлен и может быть проверен. ThreadNameChange активируется при изменении имени потока в целевом процессе. В настоящее время это происходит только при изменении имени управляемого потока.

Реализации этого интерфейса могут ограничивать, когда они вызываются с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, TransportKind.

Этот API появился в Visual Studio 14 RTM (DkmApiVersion.VS14RTM).

IDkmThreadNameQuery

Используется для определения имени потока. Не возвращает отображаемое имя потока.

Реализации этого интерфейса могут ограничивать, когда они вызываются с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, RuntimeId, TransportKind.

IDkmThreadStackRangeProvider

Возвращает базу стека и предел потока.

Реализации этого интерфейса могут ограничивать, когда они вызываются с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, TransportKind.

IDkmThreadSuspension

Вызывается для приостановки или возобновления потока и получения текущего числа приостановки потока.

Реализации этого интерфейса могут ограничивать, когда они вызываются с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, TransportKind.

IDkmTimeTravellingMonitor

Этот интерфейс реализуется мониторами отладки, которые позволяют путешествовать по времени.

Реализации этого интерфейса могут ограничивать, когда они вызываются с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, TransportKind.

Этот API появился в Visual Studio 15 с обновлением 8 (DkmApiVersion.VS15Update8).

IDkmTlsReadWrite

Предоставляет возможность чтения и записи из слотов WIN32 TLS в целевом процессе.

Реализации этого интерфейса могут ограничивать, когда они вызываются с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, TransportKind.

IDkmTraceSettingsNotification

Интерфейс для обновления компонентов при изменении параметров трассировки.

Реализации этого интерфейса могут ограничивать, когда они вызываются с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId.

Этот API появился в Visual Studio 14 RTM (DkmApiVersion.VS14RTM).

IDkmUserCodeDeterminer

Определяет, является ли кадр пользователем или непользователем, если такое определение не было сделано при создании кадра.

Реализации этого интерфейса могут ограничивать, когда они вызываются с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, RuntimeId, SymbolProviderId, TransportKind.

Этот API появился в Visual Studio 12 RTM (DkmApiVersion.VS12RTM).

IDkmVirtualMemoryAllocator

Реализуется базовыми мониторами отладки для выделения или освобождения виртуальной памяти в целевом процессе.

Реализации этого интерфейса могут ограничивать, когда они вызываются с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, TransportKind.

IDkmVirtualThreadCreateNotification

IDkmVirtualThreadCreateNotification реализуется компонентами, которые хотят прослушивать событие VirtualThreadCreate. Целевой процесс может продолжать выполняться во время этого уведомления. При вызове VirtualThreadCreate вызывается событие, уведомляющее прослушиватели о создании DkmVirtualThread.

Реализации этого интерфейса могут ограничивать, когда они вызываются с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, TransportKind.

Этот API появился в Visual Studio 16 с обновлением 6 (DkmApiVersion.VS16Update6).

IDkmVisualizationDataCompiler

Необязательный интерфейс для компиляции данных визуализации объекта из удобочитаемой формы в объект DkmCompiledVisualizationData. В настоящее время этот интерфейс реализуется только c++.

Реализации этого интерфейса могут ограничивать, когда они вызываются с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: CompilerVendorId, LanguageId.

Этот API появился в Visual Studio 12 RTM (DkmApiVersion.VS12RTM).

IDkmVisualStudioServices

Интерфейс, реализованный AD7AL в качестве шлюза для служб, предоставляемых остальной частью Visual Studio.

Реализации этого интерфейса всегда вызываются (фильтрация не поддерживается). Чтобы уменьшить влияние на память, рекомендуется реализовать этот интерфейс в небольшой библиотеке DLL или настроить реализацию с параметром CallOnlyWhenLoaded="true".

IDkmVisualStudioServices120

Интерфейс, реализованный AD7AL в качестве шлюза для служб, предоставляемых остальной частью Visual Studio.

Реализации этого интерфейса могут ограничивать, когда они вызываются с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, TransportKind.

Этот API появился в Visual Studio 12 RTM (DkmApiVersion.VS12RTM).

IDkmVolatileMemoryOperation

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

Реализации этого интерфейса могут ограничивать, когда они вызываются с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, TransportKind.

IDkmVolatileThreadProperties

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

Реализации этого интерфейса могут ограничивать, когда они вызываются с помощью фильтра, определенного в конфигурации компонента. Можно использовать следующие свойства: BaseDebugMonitorId, EngineId, TransportKind.