De que se trata o artigo: O artigo mostra as principais ferramentas disponibilizadas pelo Visual Studio para o programador realizar a depuração do seu código com o objetivo de encontrar e corrigir erros que possam ter aparecido em sua aplicação. Um exemplo é quando desejamos ter a certeza que tipo de valor está sendo retornado de um método.
Em que situação o tema é útil: O artigo é útil para quem deseja conhecer
recursos que irão aumentar a qualidade da aplicação ao tentar localizar erros nos programas e também irão
permitir desenvolver uma aplicação já sendo preparado para futuras depurações, acrescentando alguns recursos,
como atributos de depuração.
Breakpoints e além: Programas estão sujeitos a bugs. Aplicações que se definam estáveis também tem a tendência de apresentar, em alguma parte do seu ciclo de vida, eventuais bugs que podem ter sido acrescentados ao incluir ou alterar um requisito no projeto.
Boa parte do trabalho dos programadores, principalmente em projetos com ciclo de vida longo e que prevê manutenção do código, consiste em encontrar bugs e corrigi-los.
Esta tarefa pode se tornar demorada, porque é fato que mesmo o mais correto código deixa de ser claro, mesmo para o seu criador em poucas semanas, ficando difícil encontrar o causador do bug.
O Visual Studio e o Framework .NET sempre providenciaram ferramentas para facilitar a tarefa de depuração, desde suas versões iniciais. Além dessas, existem outros recursos que consistem mais em como desenvolver o projeto, visando a sua facilidade de depuração. Estes pontos serão alvo deste artigo e para demonstrar os mesmos, veremos a criação de um projeto de exemplo que pode ser usado para realizar testes de depuração.
Desenvolver um bom software sem realizar sua devida depuração é algo praticamente impossível, considerando a realidade dos projetos de software que existem hoje em dia. Sempre haverá algum ponto do código que irá estar sujeito a algum tipo de falha, seja nos momentos em que novos requisitos forem incluídos, novas plataformas forem suportadas ou mesmo ao interagir com outras partes de software.
Os bons projetos precisam reduzir o índice de bugs para o menor número possível, mas, precisam também facilitar a localização e solução destes quando surgirem. Estas são desde as mais básicas, como a interrupção do código para inspeção dos objetos na memória – o que é feito pelo já conhecido breakpoint, até preparar o código das classes para que apresentem informações que ajudem o programador a identificar o que está “acontecendo” com o seu código em um determinado ponto da execução.
É fato que quanto maior e mais complexo o projeto, mais difícil será fazer a depuração, entretanto, com as técnicas apresentadas aqui, até mesmo projetos imensos podem ser depurados e ter seus problemas resolvidos.
Resolvendo problemas na aplicação
Tudo se inicia dentro da IDE do Visual Studio ao se executar o código do projeto que é o objeto de depuração.
Neste artigo vamos considerar apenas a depuração de códigos baseados em aplicações que tenham alguma interface com o usuário, como aplicativos Windows Forms, WPF, ASP.NET etc. Os tópicos apresentados aqui são mais indicados para estes tipos de projetos, mas, também é possível realizar a depuração em outros, como Webservices e serviços do Windows, para serem depurados quando o código está disponível ou até mesmo, fazer a depuração de processos remotamente localizados.
Para iniciar a depuração é preciso que o código esteja sendo executado - aqui cabe uma observação importante para os programadores iniciantes: uma class library precisa estar anexada com um projeto executável que seja uma UI (interface com o usuário) para poder ser depurado. Se você tentar depurar um projeto deste tipo no Visual Studio, vai receber uma mensagem de que não é possível executar diretamente um projeto deste tipo.
Os primeiros passos para entender como funciona a depuração é conhecer as duas modalidades para compilação e execução de um projeto, que são Debug e Release. Projetos no modo Debug incluem informações que facilitam a localização no código, como a call stack – que é a hierarquia de chamadas dos métodos e classes – contendo o número da linha da chamada no código e outros dados importantes para depuração, estes, que serão mostrados nos próximos tópicos.
Normalmente, a opção escolhida para a compilação do projeto é o modo Debug (este é utilizado durante o desenvolvimento/testes da aplicação) e após, é alterado para o modo Release para ser enviado ao usuário final.
A maneira mais simples de alterar o modo de compilação do projeto é através da barra de ferramentas, como ilustrado na Figura 1. Este modo é selecionado como padrão ao criar um novo projeto.
Existem algumas formas de iniciar a depuração de seu aplicativo: clicando no botão executar (ao lado do seletor de modo, na barra de ferramentas), pressionando F5, utilizando o meu Debug > Start Debugging ou na janela Solution Explorer, com o botão direito sobre o ícone do projeto, escolhendo Debug > Start Debugging (Figura 2).
Confira outros conteúdos:
Perguntas frequentes
Nossos casos de sucesso
Eu sabia pouquíssimas coisas de programação antes de começar a estudar com vocês, fui me especializando em várias áreas e ferramentas que tinham na plataforma, e com essa bagagem consegui um estágio logo no início do meu primeiro período na faculdade.
Estudo aqui na Dev desde o meio do ano passado!
Nesse período a Dev me ajudou a crescer muito aqui no trampo.
Fui o primeiro desenvolvedor contratado pela minha
empresa. Hoje eu lidero um time de desenvolvimento!
Minha meta é continuar estudando e praticando para ser um
Full-Stack Dev!
Economizei 3 meses para assinar a plataforma e sendo sincero valeu muito a pena, pois a plataforma é bem intuitiva e muuuuito didática a metodologia de ensino. Sinto que estou EVOLUINDO a cada dia. Muito obrigado!
Nossa! Plataforma maravilhosa. To amando o curso de desenvolvimento front-end, tinha coisas que eu ainda não tinha visto. A didática é do jeito que qualquer pessoa consegue aprender. Sério, to apaixonado, adorando demais.
Adquiri o curso de vocês e logo percebi que são os melhores do Brasil. É um passo a passo incrível. Só não aprende quem não quer. Foi o melhor investimento da minha vida!
Foi um dos melhores investimentos que já fiz na vida e tenho aprendido bastante com a plataforma. Vocês estão fazendo parte da minha jornada nesse mundo da programação, irei assinar meu contrato como programador graças a plataforma.
Wanderson Oliveira
Comprei a assinatura tem uma semana, aprendi mais do que 4 meses estudando outros cursos. Exercícios práticos que não tem como não aprender, estão de parabéns!
Obrigado DevMedia, nunca presenciei uma plataforma de ensino tão presente na vida acadêmica de seus alunos, parabéns!
Eduardo Dorneles
Aprendi React na plataforma da DevMedia há cerca de 1 ano e meio... Hoje estou há 1 ano empregado trabalhando 100% com React!
Adauto Junior
Já fiz alguns cursos na área e nenhum é tão bom quanto o de vocês. Estou aprendendo muito, muito obrigado por existirem. Estão de parabéns... Espero um dia conseguir um emprego na área.