Depuração (debug)
📽 Veja esta vídeo-aula no Youtube
Permite que se acompanhe a execução do programa passo-a-passo, visualizando os valores de suas variáveis e avaliando expressões.
É utilizado principalmente para investigação e correção de bugs.
Configuração do VsCode
As opções do depurador ficam na aba Run
:
O método Launch
deve estar selecionado.
O console interno do depurador não é compatível com entrada via teclado. Devemos configurar o depurador para utilizar o terminal integrado do VsCode. Para isso, abra o arquivo de configuração launch.json
clicando no ícone indicado:
Altere a opção console
de internalConsole
para integratedTerminal
.
Antes:
Depois:
Suas configurações ficam salvas em .vscode/launch.json
.
Pontos de parada (breakpoints)
Você deve incluir pelo menos um ponto de parada para o depurador. Sem eles, seu programa executará até o final sem que você possa interagir.
Podemos adicionar breakpoints clicando ao lado dos números de linha.
No exemplo, o depurador parará nas linhas 41, 44 e 46.
A janela Breakpoints
permite que você veja os pontos de parada configurados:
Na maioria dos casos simples você pode colocar um breakpoint na primeira linha do método Main
, permitindo que você acompanhe toda a execução do programa.
Iniciando a depuração
Para executar o programa em modo de depuração clique no ícone de execução:
A barra de status ficará vermelha:
Surgirá um menu de depuração no canto superior direito:
A janela Variables
mostrará todas as variáveis acessíveis no ponto atual de execução, com seus valores:
O depurador executará até encontrar o primeiro breakpoint.
Agora você pode controlar a sequência dos próximos comandos.
Executando trechos de código
Para ir até o próximo breakpoint utilize a opção Continue
ou pressione F5:
Para executar uma linha por vez, utilize a opção Step Over
ou pressione F10:
As demais opções são:
Step Into
(F11): ComoStep Over
, mas entra na subrotina a ser executada.Step Out
(Shift+F11): ComoStep Over
, mas sai da subrotina atual.Restart
(Ctrl+Shift+F5): Reinicia a depuração.Stop
(Shift+F5): Termina a depuração.
Inspecionando o programa
Você pode analisar os valores atuais das variáveis de diversas maneiras.
Variables
A lista de variáveis disponíveis está em Variables
. Você pode inclusive alterá-los diretamente utilizando a opção Set Value
.
Cursor sobre a variável, no código
Ao passar o cursor sobre uma variável, você verá o seu valor atual.
Watches
A janela Watches
permite que você crie expressões a serem avaliadas automaticamente pelo depurador.
Você pode colocar uma variável ou uma expressão contida no seu código selecionando-a e clicando na opção Add to watch
:
Você também pode observar o valor de uma expressão que não existe no seu código, criando-a diretamente na janela Watches
:
Use e abuse da depuração. Ela é a melhor amiga do programador.
Possíveis problemas
Notificação de recursos requeridos (required assets)
Após abrir um projeto no vscode, é comum que ele exiba uma notificação como a abaixo:
Se você clicar em Yes, ele adicionará o arquivo .vscode/launch.json
para o seu projeto, assim como qualquer outro artefato que o auxilie nesta tarefa.
Bibliotecas recém instaladas
Ao configurar a depuração pela primeira vez no seu vscode, ele poderá baixar pacotes automaticamente, como o .NET Core Debugger para que você possa fazer a depuração.