🎉 SEMANA DO CONSUMIDOR

Últimos dias para comprar os cursos com 50% de desconto

Ver detalhes

Postado em em 19 de novembro de 2024

Você sabe como debugar Python? Sabia que o VS Code tem uma ferramenta própria para depurar códigos? Aprenda como debugar Python no VS Code de forma fácil e rápida!

Se quiser pode acompanhar esse conteúdo em formato de vídeo ou pode acessar o nosso Canal do YouTube para mais vídeos!

Para receber por e-mail o(s) arquivo(s) utilizados na aula, preencha:

Não vamos te encaminhar nenhum tipo de SPAM! A Hashtag Treinamentos é uma empresa preocupada com a proteção de seus dados e realiza o tratamento de acordo com a Lei Geral de Proteção de Dados (Lei n. 13.709/18). Qualquer dúvida, nos contate.

Como Debugar Python no VS Code? – Guia Completo, Fácil e Rápido

Depurar, ou debugar, é uma habilidade essencial para qualquer desenvolvedor. Ela ajuda a identificar e corrigir erros, entender o comportamento do programa e aprimorar suas habilidades de programação.

Uma coisa que poucas pessoas sabem é que o Visual Studio Code (VS Code) oferece um ambiente completo para a depuração, o que torna a tarefa de encontrar e corrigir problemas muito mais prática e eficiente.

Pensando nisso, nesta aula, vou te mostrar o passo a passo de como configurar e utilizar o depurador do VS Code para Python, tornando sua depuração mais produtiva e otimizando seu fluxo de trabalho, além de economizar tempo.

Para usar como exemplo, no material disponível para download você poderá baixar o código de uma automação com Selenium que foi desenvolvida nesta aula: Selenium com Python – Automatize Qualquer Tarefa na Web

Introdução ao Debugging com VSCode

Durante o desenvolvimento de um programa, site ou aplicativo, é comum surgirem bugs, erros que dificultam ou até impedem a execução correta do código, gerando problemas ou resultados inesperados.

Encontrar e identificar esses erros pode ser um processo trabalhoso, especialmente se você tentar fazer isso sem a ajuda de nenhuma ferramenta, executando o código inteiro várias vezes.

Para facilitar essa tarefa, o VS Code oferece o modo de Debug, que permite debugar sem a necessidade de rodar o código completo repetidas vezes.

Esse modo pode ser acessado pelo botão Run and Debug (Executar e Depurar) na barra lateral, identificado por um ícone de Play com um pequeno inseto (bug) sobreposto.

botão Run and Debug

Outra forma de iniciar o debug é selecionando a opção Python Debugger: Debug Python File, localizada no menu de opções ao lado do ícone de “Play” na barra superior do VS Code.

opção Python Debugger: Debug Python File

Na primeira vez que você iniciar o depurador, pode surgir uma pergunta sobre qual arquivo ou módulo deseja debugar. Nesse caso, selecione a opção Python File.

opção Python File

Esse modo permite que você execute o código e monitore o estado das variáveis e a execução das funções em tempo real, parando o código em pontos específicos para observar o que está acontecendo e identificar possíveis problemas.

Você verá no topo da página um controle de execução que permite iniciar, avançar etapas, reiniciar ou interromper o debug.

controle de execução

Além disso, o ícone do debug é exibido no terminal do editor de código enquanto o processo está em andamento.

ícone do debug

Se o código não contiver nenhum problema, o debugger simplesmente executará o arquivo normalmente, sem exibir mensagens de erro.

Erro no Debug

Quando um erro ocorre durante a execução, o depurador marca a linha problemática e fornece informações detalhadas sobre o erro encontrado.

A mensagem de erro aparece em vermelho, indicando exatamente onde está o problema e qual comando causou o erro, facilitando a correção.

Erro no Debug

Configurando e Usando Breakpoints

Durante a depuração, você pode definir e utilizar breakpoints. Eles são pontos específicos onde você deseja que a execução do código seja temporariamente interrompida, permitindo a análise detalhada do estado do programa naquele momento.

Para adicionar um breakpoint no VS Code, clique na área ao lado do número da linha onde deseja que o código pare. O VS Code marcará a linha com uma bolinha vermelha, indicando que o código será pausado ali durante a execução.

Configurando e Usando Breakpoints

Ao executar o código no modo de depuração, ele seguirá com a execução normal até atingir a linha do breakpoint, onde pausará automaticamente.

linha do breakpoint

Perceba que a linha onde o breakpoint foi ativado fica marcada em amarelo, e o código é suspenso nesse ponto.

Isso permite que você visualize mais informações sobre o programa, verifique ou modifique variáveis e avalie se o comportamento do programa está conforme o esperado.

Existem diferentes tipos de breakpoints que você pode usar para melhorar o processo de debug:

  • Breakpoints Simples: São pontos de parada em linhas específicas do código, úteis para monitorar o comportamento em um local específico.
  • Breakpoints Condicionais: São breakpoints que dependem de uma condição para serem ativados. Você pode, por exemplo, configurar um breakpoint para que o código só pare quando uma variável atingir um valor específico.

Para configurar um breakpoint condicional, clique com o botão direito do mouse sobre o ponto de parada e selecione Add Conditional Breakpoint.

Adicionar Condição

Na caixa de diálogo, insira uma expressão booleana que possa ser avaliada como Verdadeira (True) ou Falsa (False). Por exemplo, vamos definir a expressão link = “https://google.com”.

definindo a condição

Essa condição significa que o breakpoint só será ativado quando o valor do link corresponder ao site do Google, o que evita paradas desnecessárias e torna a depuração mais eficiente.

Assim, você pode configurar o breakpoint para que ele pause o código apenas quando condições específicas forem atendidas.

testando o breakpoint condicional

Perceba que o código ignora o primeiro breakpoint e só pausa no segundo, quando o valor da variável link for o site do Google. Se substituirmos pelo site da Hashtag, o código continuará sem interrupção.

Explorando Variáveis e Objetos em Tempo Real

Uma funcionalidade bastante útil no modo de depuração do VS Code é a janela de variáveis, que exibe em tempo real os valores de todas as variáveis em execução.

Explorando Variáveis e Objetos em Tempo Real

Nessa janela, você pode expandir cada variável para visualizar informações detalhadas, incluindo os métodos disponíveis que podem ser aplicados a ela. Além disso, o depurador do VS Code permite modificar os valores das variáveis em tempo real.

Por exemplo, se você perceber que uma variável contém um valor incorreto durante a depuração, não é necessário parar a execução, corrigir o código e reiniciar o processo.

Em vez disso, você pode alterar o valor diretamente na janela de variáveis e continuar a execução para observar o impacto no restante do código.

Para fazer isso, clique duas vezes sobre o valor da variável no painel de variáveis e insira o novo valor. Suponha que você queira testar o comportamento da automação acessando a página do Google.

Nesse caso, pode alterar o valor da variável link diretamente para o URL desejado, enquanto o código original ainda aponta para o link da Hashtag.

modificando a variável

Esse recurso economiza tempo e permite que você experimente diferentes cenários sem interromper o fluxo da depuração.

Controles de Execução: Step Into, Step Over e Step Out

Durante o processo de debug, o VS Code exibe um controle de execução na parte superior da tela.

Controles de Execução: Step Into, Step Over e Step Out

Neste controle, encontramos algumas opções básicas:

  • Continue: Continua a depuração de onde ela parou.
  • Restart: Reinicia todo o processo de debug.
  • Stop: Interrompe e finaliza o processo de depuração.

Além desses comandos, há outras ferramentas que proporcionam um controle maior sobre o debug, permitindo escolher quais partes do código examinar em detalhe e quais apenas avançar. Entre esses comandos estão:

  • Step Into
  • Step Over
  • Step Out

Para facilitar a compreensão, vamos utilizar uma função simples de cálculo de impostos chamada calcular_imposto, que recebe um valor e retorna 30% dele.

faturamento = 1000

def calcular_imposto(valor):
    imposto = valor * 0.3
    return imposto

imposto = calcular_imposto(faturamento)

print("Faturamento:", faturamento)
print("Imposto:", imposto)
print("Faturamento Líquido:", faturamento - imposto)

Observação: Esse código também está disponível no material para download.

Step Into: Entrar na Função

O comando Step Into permite entrar em uma função e ver a execução linha por linha de seu código. Esse comando é útil para acompanhar cada passo dentro da função e entender como cada variável é processada.

Para usar Step Into no exemplo, adicione um breakpoint na linha onde a função calcular_imposto é chamada.

Step Into: Entrar na Função

Em seguida, inicie o depurador clicando em Run and Debug no menu lateral. O código irá parar no ponto em que o breakpoint foi colocado.

breakpoint

Ao utilizar Step Into neste momento, o depurador entrará na função calcular_imposto, avançando para a linha imposto = valor * 0.3.

linha imposto = valor * 0.

Nesse ponto, você pode observar as variáveis no painel lateral.

variáveis no painel lateral.

Prosseguindo, você verá o valor que será retornado pela função.

Valor retornado

Step Out: Sair da Função

O Step Out é usado para sair de dentro de uma função e retornar ao ponto do código de onde ela foi chamada.

No exemplo anterior, ao clicar em Step Out enquanto está dentro da função calcular_imposto, o depurador executará o restante da função e voltará para a linha de onde ela foi chamada, economizando o trabalho de avançar linha por linha.

Step Out: Sair da Função

Step Over: Pular a Função

O comando Step Over permite que o depurador pule a execução detalhada de uma função, avançando diretamente para a próxima linha de código e executando a função por completo.

Esse comando é ideal quando você quer ver o resultado final da função sem precisar verificar cada linha internamente.

Usando o Step Over no exemplo, o depurador executa calcular_imposto e avança direto para o valor retornado pela função.

Step Over: Pular a Função

Quando Usar Cada Comando

Saber como e quando usar cada um desses comandos facilita a debugar e ajuda a navegar pelo código com eficiência:

  • Step Into: Ideal para analisar detalhes de uma função, especialmente ao depurar partes complexas ou checar cálculos importantes.
  • Step Over: Útil quando você já compreende o funcionamento interno de uma função e quer apenas avançar para a próxima etapa do código.
  • Step Out: Indicado quando, ao entrar em uma função, percebe que não precisa vê-la em detalhes e quer retornar ao fluxo principal.

Conclusão – Como Debugar Python no VS Code?

O debugger do VS Code transforma a tarefa de depuração de um código Python em um processo mais eficiente e menos frustrante.

Ferramentas como os breakpoints, a navegação linha a linha e a alteração de variáveis em tempo real oferecem a flexibilidade necessária para identificar e corrigir erros de forma rápida e precisa.

Com a possibilidade de ajustar variáveis em tempo real e explorar os objetos em detalhes, o VS Code facilita o diagnóstico de problemas e ajuda a garantir que o código funcione conforme o esperado.

Nessa aula você pode aprender o passo a passo de como debugar Python com o VS Code! Praticando essas técnicas, você conseguirá se tornar mais eficiente na depuração, resultando em códigos mais robustos e eficientes.

Hashtag Treinamentos

Para acessar outras publicações de Python, clique aqui!


Quer aprender mais sobre Python com um minicurso básico gratuito?

Posts mais recentes de Python

Posts mais recentes da Hashtag Treinamentos

Diego Monutti

Expert em conteúdos da Hashtag Treinamentos. Auxilia na criação de conteúdos de variados temas voltados para aqueles que acompanham nossos canais.