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.
