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


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

Классы

DialogDebuggerVisualizer

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

VisualizerDevelopmentHost

Класс host для тестирования во время разработки управляемого пользовательского визуализатора.

VisualizerObjectSource

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

VisualizerObjectSourceException

Представляет исключение, создаваемое на стороне отлаживаемого объекта — через EE, инфраструктуру визуализатора (узел отладчика) или пользовательский код отлаживаемого объекта, и вызывается на стороне пользовательского интерфейса (перехватывается из DialogDebuggerVisualizer).

Это грубый пользовательский интерфейс, эквивалент microsoft.VisualStudio.VIL.VisualStudioHost.DebuggeeVisualizerException.

Интерфейсы

IAsyncVisualizerObjectProvider

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

IDeserializableObject

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

IDialogVisualizerService

Предоставляет методы, которые визуализатор может вызывать для отображения System.Windows Forms, диалогов и элементов управления.

IVisualizerObjectProvider

Предоставляет данные объекта из отладчика визуализатору.

IVisualizerObjectProvider2

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

IVisualizerObjectProvider3

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

Перечисления

FormatterPolicy

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

Примеры

public class DebuggerSide : DialogDebuggerVisualizer  
{  
   override protected void Show(IDialogVisualizerService windowService, IVisualizerObjectProvider objectProvider)  
   {  
      MessageBox.Show(objectProvider.GetObject().ToString());  
   }  
// . . . Other methods omitted for clarity.  
}  

Комментарии

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

Стороны отладчика и отладчика взаимодействуют друг с другом с помощью VisualizerObjectSource и IVisualizerObjectProvider.

На стороне отладчика используется VisualizerObjectSource для указания VisualizerObjectSource объекта для стороны отладчика. Отладчик запрашивает и получает эти сведения путем вызова методов в интерфейсе IVisualizerObjectProvider .

Визуализатор может изменять и отображать данные. Если визуализатор поддерживает редактирование данных, необходимо полностью заменить данные путем вызова ReplaceData или ReplaceObject передачи данных обратно в отладчик с помощью TransferData или TransferObject. Если вы хотите сохранить данные обратно, необходимо также создать собственный источник объектов.