Postupy: Zápis vizualizéru

Můžete napsat vlastní visualizer pro objekt všechny spravované třídy s výjimkou Object nebo Array.

[!POZNÁMKA]

V úložiště aplikace, pouze standardní text, HTML, XML a JSON visualizers jsou podporovány.Visualizers vlastní (vytvořené uživatelem) nejsou podporovány.

Architektura ladicí program visualizer má dvě části:

  • Ladicí program straně běží v rámci ladicí program sady Visual Studio.Ladicí program straně kód vytvoří a zobrazí uživatelské rozhraní pro vaše visualizer.

  • Pozastaven straně běží v rámci procesu sady Visual Studio je ladění ( pozastaven).

Datový objekt, který chcete Vizualizace (řetězec objekt, například) existuje v procesu pozastaven.Tedy na straně pozastaven má odeslat tento datový objekt na stranu ladicí program, který pak lze zobrazit pomocí uživatelského rozhraní, které vytvoříte.

Ladicí program straně obdrží tento objekt dat. Chcete-li být zobrazována z zprostředkovatele objektu , která implementuje IVisualizerObjectProvider rozhraní.Na straně pozastaven odešle datový objekt prostřednictvím zdroj objektu, který je odvozen z VisualizerObjectSource.Objekt zprostředkovatele můžete také odeslat data zpět zdroj objektu, který umožňuje zapisovat visualizer, který slouží k úpravě, jakož i zobrazuje, data.Objekt zprostředkovatele lze přepsat hovořit nástroje pro vyhodnocení výrazu a proto zdroj objektu

Pozastaven stranu a ladicí program stranu vzájemné komunikace prostřednictvím Stream.Metody jsou k dispozici k serializaci datového objektu do Stream a deserializaci Stream zpět na datový objekt.

Je zadán kód straně pozastaven, pomocí atributu DebuggerVisualizer (DebuggerVisualizerAttribute).

Chcete-li vytvořit uživatelské rozhraní visualizer na straně pro ladicí program, je nutné vytvořit třídu, která dědí z DialogDebuggerVisualizer a přepište DialogDebuggerVisualizer.Show metodu pro zobrazení rozhraní.

Můžete použít IDialogVisualizerService k zobrazení formuláře, dialogových oken pro formátování a ovládací prvky z vašeho visualizer systému Windows.

Podpora pro obecný typ je omezena.Můžete napsat visualizer pro cíl, který je obecný typ pouze v případě, že je obecný typ otevřený typ..Toto omezení je stejná jako omezení při použití DebuggerTypeProxy atributu.Podrobnosti naleznete v tématu Používání atributu DebuggerTypeProxy.

Vlastní visualizers může mít důležité informace o zabezpečení.Další informace naleznete v tématu Hlediska zabezpečení vizualizéru.

Podle pokynů níže, uveďte souhrnný pohled na co je třeba udělat pro vytvoření visualizer.Podrobnější vysvětlení naleznete v části Návod: Zápis vizualizéru v jazyce C#.

Chcete-li vytvořit straně ladicí program

  1. Použití IVisualizerObjectProvider metod k získání objektu visualized na straně pro ladicí program.

  2. Vytvořte třídu, která dědí z DialogDebuggerVisualizer.

  3. Přepsání DialogDebuggerVisualizer.Show metodu pro zobrazení vašeho rozhraní.Použití IDialogVisualizerService způsoby, jak zobrazit Windows forms, dialogových oken pro formátování a ovládací prvky v rámci rozhraní.

  4. Použít DebuggerVisualizerAttribute, ocenit visualizer (DialogDebuggerVisualizer).

Chcete-li vytvořit straně pozastaven

  1. Použít DebuggerVisualizerAttribute, ocenit visualizer (DialogDebuggerVisualizer) a objektový zdroj (VisualizerObjectSource).V případě vynechání zdroj objektu bude použit výchozí objekt zdroj

  2. Pokud chcete, aby vaše visualizer budete moci upravit datové objekty, stejně jako zobrazit, je nutné přepsat TransferData nebo CreateReplacementObject metod z VisualizerObjectSource.

Viz také

Úkoly

Postupy: Instalace vizualizéru

Postupy: Testování a ladění vizualizéru

Koncepty

Hlediska zabezpečení vizualizéru

Další zdroje

Vizualizéry