DkmRuntimeHardwareDataBreakpoint Класс

Определение

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

public ref class DkmRuntimeHardwareDataBreakpoint : Microsoft::VisualStudio::Debugger::Breakpoints::DkmRuntimeBreakpoint
[System.Runtime.InteropServices.Guid("3346103d-7c30-4ee9-c3dd-e8e7e9f66a5e")]
public class DkmRuntimeHardwareDataBreakpoint : Microsoft.VisualStudio.Debugger.Breakpoints.DkmRuntimeBreakpoint
[<System.Runtime.InteropServices.Guid("3346103d-7c30-4ee9-c3dd-e8e7e9f66a5e")>]
type DkmRuntimeHardwareDataBreakpoint = class
    inherit DkmRuntimeBreakpoint
Public Class DkmRuntimeHardwareDataBreakpoint
Inherits DkmRuntimeBreakpoint
Наследование
DkmRuntimeHardwareDataBreakpoint
Атрибуты

Свойства

Access

Маска причин, по которым должна срабатывать точка останова в данных. Например, если задан параметр "Write", точка останова будет срабатывать при записи места в памяти.

Address

Адрес для завершения. Этот адрес должен быть соответствующим образом согласованным с параметром size (например, если размер равен 4, адрес должен быть кратным 4).

IsUnloaded

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

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

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

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

Класс Дкмрунтимеинстанце представляет среду выполнения, которая загружается в Дкмпроцесс и содержит код для отладки.

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

Указывает размер расположения в байтах для отслеживания доступа. В процессоре на базе x86 этот параметр может иметь одно из двух, 2 или 4. Однако если доступ имеет DkmDataAccessStopMask.Exeмилые, размер должен быть равен 1. В процессоре на базе x64 этот параметр может принимать одно из двух, 2, 4 или 8. Однако если доступ равен DkmDataAccessStopMask.Exeмилые, размер должен быть равен 1. В процессоре на базе процессоров Itanium этот параметр может иметь любую степень числа 2, от 1 до 0x80000000.

SourceId

Определяет источник объекта. Саурцеидс используются для включения фильтрации в сценариях, когда несколько компонентов могут создавать экземпляры класса. Например, идентификаторы источников можно использовать, чтобы определить, поступает ли точка останова из AD7 AL (например, точки останова пользователя или другой точки останова, видимой на уровне SDM) вместо точки останова, которая может быть создана другим компонентом (например, внутренняя точка останова, используемая для пошагового выполнения).

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

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

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

Используемых Поток, в котором должна срабатывать эта точка останова. Если значение равно null, точка останова будет срабатывать во всех потоках.

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

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

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

Методы

ClearConditions()

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

(Унаследовано от DkmRuntimeBreakpoint)
ClearConditions(DkmWorkList, DkmCompletionRoutine<DkmClearRuntimeBreakpointConditionsAsyncResult>)

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

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

(Унаследовано от DkmRuntimeBreakpoint)
ClearHitCountCondition(DkmBreakpointHitCountCondition, Int32)

Очищает условие числа попаданий в точке останова.

(Унаследовано от DkmRuntimeBreakpoint)
ClearHitCountCondition(DkmWorkList, DkmBreakpointHitCountCondition, DkmCompletionRoutine<DkmClearRuntimeBreakpointHitCountConditionAsyncResult>)

Очищает условие числа попаданий в точке останова.

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

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

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

Объекты Дкмрунтимебреакпоинт автоматически закрываются при закрытии связанных с ними объектов Дкмрунтимеинстанце.

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

(Унаследовано от DkmRuntimeBreakpoint)
Create(DkmRuntimeInstance, Guid, DkmThread, UInt64, DkmDataAccessStopMask, Int32, DkmDataItem)

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

Disable()

Отключает точку останова. Отключение точки останова обычно реализуется путем изменения состояния целевого процесса, поэтому точка останова больше не будет срабатывать. Например, удаление ранее вставленного элемента «водо» из потока инструкций. Если точка останова уже отключена, эта операция не действует. Помимо этого метода, точка останова неявно отключается при закрытии.

Если для одной и той же инструкции задано несколько точек останова, то отключение одной точки останова не влияет на другие точки останова, установленные в этой инструкции.

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

(Унаследовано от DkmRuntimeBreakpoint)
Disable(DkmWorkList, DkmCompletionRoutine<DkmDisableRuntimeBreakpointAsyncResult>)

Отключает точку останова. Отключение точки останова обычно реализуется путем изменения состояния целевого процесса, поэтому точка останова больше не будет срабатывать. Например, удаление ранее вставленного элемента «водо» из потока инструкций. Если точка останова уже отключена, эта операция не действует. Помимо этого метода, точка останова неявно отключается при закрытии.

Если для одной и той же инструкции задано несколько точек останова, то отключение одной точки останова не влияет на другие точки останова, установленные в этой инструкции.

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

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

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

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

После включения точки останова монитор отладки создает событие Рунтимебреакпоинт для этого объекта Дкмрунтимебреакпоинт всякий раз, когда выполняется условие триггера (например, Целевая инструкция). Для одной инструкции может быть задано несколько Дкмрунтимебреакпоинтс. В этом случае монитор отладки создает другое событие Рунтимебреакпоинт для каждого объекта точки останова. Аналогично, если шаг завершен и точка останова завершается для одной и той же инструкции, монитор отладки будет вызывать оба события.

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

(Унаследовано от DkmRuntimeBreakpoint)
Enable(DkmWorkList, DkmCompletionRoutine<DkmEnableRuntimeBreakpointAsyncResult>)

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

После включения точки останова монитор отладки создает событие Рунтимебреакпоинт для этого объекта Дкмрунтимебреакпоинт всякий раз, когда выполняется условие триггера (например, Целевая инструкция). Для одной инструкции может быть задано несколько Дкмрунтимебреакпоинтс. В этом случае монитор отладки создает другое событие Рунтимебреакпоинт для каждого объекта точки останова. Аналогично, если шаг завершен и точка останова завершается для одной и той же инструкции, монитор отладки будет вызывать оба события.

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

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

(Унаследовано от DkmRuntimeBreakpoint)
EvaluateConditionAndSelectThread(DkmThread)

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

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

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

(Унаследовано от DkmRuntimeBreakpoint)
EvaluateConditionAndSelectThread(DkmWorkList, DkmThread, DkmCompletionRoutine<DkmEvaluateConditionAndSelectThreadAsyncResult>)

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

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

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

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

(Унаследовано от DkmRuntimeBreakpoint)
GetCompiledCondition(DkmInstructionAddress, DkmBreakpointConditionOperator)

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

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

(Унаследовано от DkmRuntimeBreakpoint)
GetDataItem<T>()

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

(Унаследовано от DkmDataContainer)
GetHitCountConditionStatus(DkmWorkList, DkmCompletionRoutine<DkmGetRuntimeBreakpointHitCountConditionAsyncResult>)

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

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

(Унаследовано от DkmRuntimeBreakpoint)
GetHitCountConditionStatus(Int32)

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

(Унаследовано от DkmRuntimeBreakpoint)
OnBreakpointConditionFailed(DkmILFailureReason)

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

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

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

(Унаследовано от DkmRuntimeBreakpoint)
OnBreakpointConditionFailed(DkmThread, String, DkmILFailureReason)

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

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

(Унаследовано от DkmRuntimeBreakpoint)
OnBreakpointConditionFailed(String)

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

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

(Унаследовано от DkmRuntimeBreakpoint)
OnDataBreakpointHit(DkmThread, Boolean, String)

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

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

(Унаследовано от DkmRuntimeBreakpoint)
OnError(DkmBreakpointMessageLevel, String)

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

Ограничение расположения. его можно вызывать из любого компонента.

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

(Унаследовано от DkmRuntimeBreakpoint)
OnHit(DkmThread, Boolean)

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

(Унаследовано от DkmRuntimeBreakpoint)
OnHitWithError(DkmThread, Boolean, DkmBreakpointMessageLevel, String)

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

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

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

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

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

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

(Унаследовано от DkmRuntimeBreakpoint)
RequestBreakpointEventOnModifiedThread(DkmWorkList, DkmThread, DkmCompletionRoutine<DkmRequestBreakpointEventOnModifiedThreadAsyncResult>)

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

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

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

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

(Унаследовано от DkmRuntimeBreakpoint)
SetCompiledConditionPending(DkmWorkList, DkmCompletionRoutine<DkmSetCompiledConditionPendingAsyncResult>)

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

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

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

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

(Унаследовано от DkmDataContainer)
SetEvaluationCondition(DkmBreakpointCondition, String)

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

(Унаследовано от DkmRuntimeBreakpoint)
SetEvaluationCondition(DkmWorkList, DkmBreakpointCondition, DkmCompletionRoutine<DkmSetEvaluationConditionAsyncResult>)

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

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

(Унаследовано от DkmRuntimeBreakpoint)
SetHitCountCondition(DkmBreakpointHitCountCondition, Int32)

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

(Унаследовано от DkmRuntimeBreakpoint)
SetHitCountCondition(DkmWorkList, DkmBreakpointHitCountCondition, Int32, DkmCompletionRoutine<DkmSetRuntimeBreakpointHitCountConditionAsyncResult>)

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

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

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

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

(Унаследовано от DkmRuntimeBreakpoint)
Test(DkmWorkList, DkmCompletionRoutine<DkmTestRuntimeBreakpointAsyncResult>)

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

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

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

Явные реализации интерфейса

IDisposable.Dispose()

Будет добавлено.

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

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