Pular para o conteúdo principal

AutoCAD .NET #004: Tutorial – Depurando uma Aplicação

No último artigo nós começamos pelo básico que foi executar uma simples aplicação, agora nós vamos ver um recurso muito útil que é utilizar o recurso básico de depuração do Visual Studio para analisar um código ao mesmo tempo que ele é executado no AutoCAD.

Para isso vamos a nosso código da semana anterior e realizar algumas modificações no código. Primeiro vamos incluir uma variável inteira global para contabilizar o número de execuções de código.

...
int numero_de_exec = 0;
...

Feito isso vamos criar dentro do comando de teste um incrementador e adicionar alterar o texto a ser escrito na linha de comando para incluir o valor dessa variável criada.

int numero_de_exec = 0;

// Modal Command with localized name
[CommandMethod("MyGroup", "MyCommand", "MyCommandLocal", CommandFlags.Modal)]
public void MyCommand() // This method can have any name
{
    // Put your command code here
    Document doc = Application.DocumentManager.MdiActiveDocument;
    Editor ed;
    if (doc != null)
    {
        ed = doc.Editor;

        numero_de_exec++;

        ed.WriteMessage("Olá, esse código já foi executado " + numero_de_exec.ToString("####") + ".");

    }
}

Break Point

Agora, antes de executar esse código vamos adicionar sob o incrementador o breakpoint. Note que na interface de edição do visual Studio, antes do número da linha existe uma faixa cinza clara, clicando sobre ela na direção da linha é possível incluir um breakpoint sob a linha.


A finalidade do breakpoint é permitir uma pausa para visualizar o estado parcial do seu código. Quando executarmos o código será possível “ver” um retrato do código quando aquela linha for executada mesmo antes do código ser terminado. 

Vamos a prática da coisa. Compile o código depois execute.


Se tudo der certo o AutoCAD vai se abrir como ocorreu da última vez.

Com o AutoCAD aberto vamos executar o mesmo procedimento, vamos utilizar o comando NETLOAD e carregar manualmente a nossa aplicação.

Finalmente vamos chamar o comando criado digitando no prompt do AutoCAD o comando MYCOMMAD.

Como o breakpoint foi criado sob a linha de incrementação o Visual Studio será chamado em primeiro plano automaticamente com a interface modificada e com foco na linha do incrementador como mostrado a seguir.

Vamos a alguns comentários:

  • A seta amarela indica onde a execução do código está. 

  • Note que surgiram algumas novas opções de ferramentas ao lado do Continuar. Estas ferramentas são os acessórios de controle de depuração, com elas você pode avançar ou retroceder a execução do seu código.


  • Passando o mouse sobre as variáveis é possível ver o valor da variável. Note que a variável “numero_de_exec” ainda está em zero. Porque a linha ainda não foi executada.

  • Para executar a linha aperte F10 ou F11, note que a seta andou para a linha de baixo. Note também que valor da variável passou de 0 para 1, isso acontece porque a linha do incrementador foi executada.


  • Clique com o botão direito sobre a variável “numero_de_exec” e depois selecione a opção “Adicionar a Inspeção”. Note que a variável foi para a janela de Inspeção 1, através a inspeção é possível ver um grupo de variáveis a evolução dos seus valores no decorrer das execuções.
    Também é possível alterar o valor da variável manualmente na coluna valor quando o código está em depuração.


Finalmente note que esse tempo todo não é possível ver o que está acontecendo na Janela do AutoCAD isso é porque o AutoCAD está esperando sua depuração terminar para que ele continue, para continuar clique em “Continuar”.


O comando terminará de ser executado e a janela do AutoCAD será recolocada em primeiro plano e finalmente poderemos ler a frase.


Removendo o breakpoint.

Uma vez inserido o breakpoint ele pode ser removido a qualquer tempo durante a depuração antes de executar uma segunda vez remova o break point simplesmente clicando uma vez com o botão direito sobre a bola vermelha. Executando novamente o comando ele corre normalmente.



A depuração é uma ferramenta muito importante que facilita muito o processo de desenvolvimento e aprendizado em novas plataformas, saber utiliza-la da maneira correta e plena fará com que você consiga rapidamente solucionar problemas e encontrar erros no seu próprio código. Esse artigo é apenas uma introdução existem muitos recursos muito mais poderosos de depuração no Visual Studio que merecem estudos mais aprofundados.

No próximo artigo continuaremos fazendo os exemplos da Autodesk para os treinamentos de AutoCAD .NET API.

Comentários