Поделиться через


DkmSuccessEvaluationResult Класс

Определение

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

public ref class DkmSuccessEvaluationResult : Microsoft::VisualStudio::Debugger::Evaluation::DkmEvaluationResult
[System.Runtime.InteropServices.Guid("5d948996-5805-1795-8b6b-535f0bc32bde")]
public class DkmSuccessEvaluationResult : Microsoft.VisualStudio.Debugger.Evaluation.DkmEvaluationResult
[<System.Runtime.InteropServices.Guid("5d948996-5805-1795-8b6b-535f0bc32bde")>]
type DkmSuccessEvaluationResult = class
    inherit DkmEvaluationResult
Public Class DkmSuccessEvaluationResult
Inherits DkmEvaluationResult
Наследование
Наследование
DkmSuccessEvaluationResult
Атрибуты

Свойства

Access

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

Address

[Необязательно] Если результатом является адрес (т. е. флаг адреса установлен в разделе Флаги), указывает расположение резервного значения. Используется, когда результат оценки используется в качестве входных данных в окно памяти или окно дизассемблирования. Если это адрес инструкции, для него должен быть задан адрес CPUInstruction.

Category

Категория (например, Данные, Метод и т. д.) этого результата оценки.

CustomUIVisualizers

[Необязательно] Список пользовательских средств просмотра для этого объекта.

EditableValue

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

ExternalModules

[Необязательно] При наличии — список внешних модулей, не включая текущий модуль, которые используются для проверки объекта. Загрузка символов для максимально возможного количества модулей в этом списке улучшит отображение объекта.

Flags

Флаги, указывающие атрибуты результата вычисления выражения.

FullName

[Необязательно] Полное имя выражения, к которому применяется результат. Это значение используется для добавления дочерних элементов в окно watch (добавление контрольных значений из контекстного меню) и для обновления частей дерева оценки. В качестве примера отличия FullName от имени, имя 0-го элемента массива в C++ — "[0]", а полное имя — "myArrayVariable[0]". Для Visual Studio 14 и более поздних версий полное имя можно вычислить позже, если потребуется. Для этого вычислитель выражений должен создать DkmEvaluationResult с полным именем NULL и реализовать IDkmFullNameProvider. Затем Concord вызовет IDkmFullNameProvider.CalculateFullName, чтобы получить полное имя при необходимости в пользовательском интерфейсе.

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

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

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

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

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

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

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

Язык, используемый для выполнения проверок.

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

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

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

[Необязательно] Если задан параметр DkmEvaluationResultFlags::CanEvaluateNow, указывает текст, который будет отображаться в виде подсказки при наведении указателя мыши на кнопку обновления. Если это значение равно NULL, будет использоваться сообщение по умолчанию.

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

RuntimeInstance

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

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

Кадр стека, на который был создан результат выражения.

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

Тип хранилища (например, статический) результата оценки.

TagValue

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

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

[Необязательно] Строка, описывающая тип значения.

TypeModifierFlags

Флаги модификаторов типа (например, const) результата оценки.

UniqueId

Guid, который однозначно идентифицирует этот результат оценки.

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

[Необязательно] Строка, описывающая значение.

Методы

AddToFavorites(DkmSuccessEvaluationResult)

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

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

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

Close()

Закрывает объект результата оценки, чтобы освободить связанные с ним ресурсы. Этот метод должен вызываться компонентом, который инициировал перечисление (например, DkmInspectionContext.EvaluateExpression, DkmEvaluationResultEnumContext.GetItems и т. д.).

Объекты DkmEvaluationResult автоматически закрываются при закрытии связанного с ними объекта DkmInspectionSession.

(Унаследовано от DkmEvaluationResult)
Create(DkmInspectionContext, DkmStackWalkFrame, String, String, DkmEvaluationResultFlags, String, String, String, DkmEvaluationResultCategory, DkmEvaluationResultAccessType, DkmEvaluationResultStorageType, DkmEvaluationResultTypeModifierFlags, DkmDataAddress, ReadOnlyCollection<DkmCustomUIVisualizerInfo>, ReadOnlyCollection<DkmModuleInstance>, DkmDataItem)

Create новый экземпляр объекта DkmSuccessEvaluationResult.

Create(DkmInspectionContext, DkmStackWalkFrame, String, String, DkmEvaluationResultFlags, String, String, String, DkmEvaluationResultCategory, DkmEvaluationResultAccessType, DkmEvaluationResultStorageType, DkmEvaluationResultTypeModifierFlags, DkmDataAddress, ReadOnlyCollection<DkmCustomUIVisualizerInfo>, ReadOnlyCollection<DkmModuleInstance>, String, DkmDataItem)

Create новый экземпляр объекта DkmSuccessEvaluationResult.

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

CreateDebuggeeSideVisualizerObject(DkmWorkList, UInt32, DkmCompletionRoutine<DkmCreateDebuggeeSideVisualizerObjectAsyncResult>)

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

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

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

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

CreateDebuggeeSideVisualizerObject(DkmWorkList, UInt32, Int32, DkmCompletionRoutine<DkmCreateDebuggeeSideVisualizerObject176AsyncResult>)

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

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

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

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

CreateDebuggeeSideVisualizerObject(UInt32, Int32, Int32, String, String, String, Boolean)

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

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

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

CreateDebuggeeSideVisualizerObject(UInt32, String, String, String)

Создает экземпляр типа Пользовательского визуализатора на стороне отладчика в процессе отладки. Примечание. Этот метод стал устаревшим в пользу метода, определенного в интерфейсе IDkmClrCustomVisualizerObjectProvider1610.

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

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

CreateDebuggeeSideVisualizerObject(UInt32, String, String, String, Boolean)

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

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

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

CreateObjectId()

Создает идентификатор объекта для этого конкретного выражения.

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

(Унаследовано от DkmEvaluationResult)
CreateReplacementObjectOnDebuggeeSideVisualizer(Byte[], String, String, String)

Выполняет метод CreateReplacementObject(...) типа Custom Visualizer на стороне отладчика и записывает результат в дескриптор визуализированного объекта.

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

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

DestroyDebuggeeSideVisualizerObject()

Освобождает тип Пользовательского визуализатора на стороне отладчика в процессе отладки.

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

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

DestroyDebuggeeSideVisualizerObject(DkmWorkList, DkmCompletionRoutine<DkmDestroyDebuggeeSideVisualizerObjectAsyncResult>)

Освобождает тип Пользовательского визуализатора на стороне отладчика в процессе отладки.

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

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

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

DestroyObjectId()

Удаляет идентификатор объекта для этого конкретного выражения.

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

(Унаследовано от DkmEvaluationResult)
ExtractFromProperty(IDebugProperty3)

Получает объект DkmSuccessEvaluationResult, который поддерживает объект IDebugProperty3. Этот API будет правильно работать только из потока main Visual Studio.

GetChildren(DkmWorkList, Int32, DkmInspectionContext, DkmCompletionRoutine<DkmGetChildrenAsyncResult>)

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

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

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

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

Возвращает базовое значение DkmClrValue из DkmSuccessEvaluationResult, если он существует.

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

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

GetDataBreakpointDisplayName()

Возвращает отображаемое имя точки останова данных для результата оценки.

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

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

GetDataBreakpointDisplayName(DkmWorkList, DkmCompletionRoutine<DkmGetDataBreakpointDisplayNameAsyncResult>)

Возвращает отображаемое имя точки останова данных для результата оценки.

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

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

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

GetDataBreakpointInfo(DkmWorkList, DkmCompletionRoutine<DkmGetDataBreakpointInfoAsyncResult>)

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

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

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

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

GetDataBreakpointInfo(String)

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

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

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

GetDataFromDebuggeeSideVisualizer(DkmWorkList, DkmCompletionRoutine<DkmGetDataFromDebuggeeSideVisualizerAsyncResult>)

Выполняет метод GetData(...) типа Пользовательского визуализатора на стороне отладчика.

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

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

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

GetDataFromDebuggeeSideVisualizer(String, String, String)

Выполняет метод GetData(...) типа Пользовательского визуализатора на стороне отладчика.

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

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

GetDataItem<T>()

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

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

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

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

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

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

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

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

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

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

ResolveAssembly(String, String, ReadOnlyCollection<Byte>)

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

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

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

SetDataItem<T>(DkmDataCreationDisposition, T)

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

(Унаследовано от DkmDataContainer)
SetValueAsString(String, Int32, String)

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

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

(Унаследовано от DkmEvaluationResult)
TransferDataToDebuggeeSideVisualizer(Byte[], String, String, String)

Выполняет метод TransferData(...) типа пользовательского визуализатора на стороне отладчика.

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

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

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

IDisposable.Dispose()

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

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

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