Partilhar via


Testar e depurar um visualizador

Importante

A partir do Visual Studio 2022 versão 17.9, os visualizadores agora podem ser escritos no .NET 6.0+ que são executados fora do processo usando o novo modelo VisualStudio.Extensibility. Para extensões criadas usando o novo modelo, consulte a documentação no Criar visualizadores de depuração do Visual Studio. Se você precisar oferecer suporte a versões mais antigas do Visual Studio ou quiser enviar seus visualizadores personalizados como parte de uma DLL de biblioteca, use as informações neste artigo, que se aplica somente ao modelo mais antigo de desenvolvimento de extensão (VSSDK).

Depois de escrever um visualizador, depure e teste-o.

Uma forma de testar um visualizador é instalá-lo no Visual Studio e executá-lo a partir de uma janela de depuração. (Consulte Como instalar um visualizador.) Se você fizer isso, use uma segunda instância do Visual Studio para anexar e depurar o visualizador, que está sendo executado na primeira instância do depurador.

Uma maneira mais fácil de depurar um visualizador é executá-lo a partir de um driver de teste. As APIs do visualizador facilitam a criação desse driver, que é chamado de host de desenvolvimento do visualizador.

Observação

Atualmente, o driver de teste é suportado somente ao chamar o visualizador de um aplicativo .NET Framework.

Para criar um host de desenvolvimento do visualizador

  1. Na classe do lado do depurador, inclua um método estático que cria um objeto VisualizerDevelopmentHost e chama o seu método show:

    public static void TestShowVisualizer(object objectToVisualize)
    {
        VisualizerDevelopmentHost myHost = new VisualizerDevelopmentHost(objectToVisualize, typeof(DebuggerSide));
        myHost.ShowVisualizer();
    }
    

    Os parâmetros usados para construir o host são o objeto de dados que será mostrado no visualizador (objectToVisualize) e o tipo da classe lateral do depurador.

  2. Para chamar TestShowVisualizer, adicione a seguinte declaração. Se você criou seu visualizador em uma biblioteca de classes, precisará criar um executável para chamar a biblioteca de classes e colocar esta instrução em seu executável:

    DebuggerSide.TestShowVisualizer(myString);
    

    Para obter um exemplo mais completo, consulte Passo a passo: Escrevendo um visualizador em C#.