paint-brush
Introdução à depuração Python com Pdbpor@terieyenike
2,378 leituras
2,378 leituras

Introdução à depuração Python com Pdb

por Teri Eyenike4m2022/08/24
Read on Terminal Reader
Read this story w/o Javascript

Muito longo; Para ler

O Python Debugger (pdb) é um depurador de código-fonte interativo para programas Python. Ele fornece funcionalidade adicional, como definir pontos de interrupção condicionais, percorrer o código-fonte linha por linha e verificar as variáveis em uma linha específica e sua pilha de chamadas. Este artigo explicará como a ferramenta de depuração, `pdb`, é usada para inspecionar e analisar seu código para torná-lo compatível com o padrão da indústria durante o teste e antes do envio aos usuários. O pdb integrado faz parte da biblioteca padrão que o Python acompanha durante a instalação em sua ferramenta de trabalho. Ele fornece vários outros comandos que você pode usar ao testar seu programa.
featured image - Introdução à depuração Python com Pdb
Teri Eyenike HackerNoon profile picture

A depuração não deve ser uma reflexão tardia após a implantação de um aplicativo para produção. Ele deve ser executado com a maior frequência possível durante o desenvolvimento, pois isso facilita o rastreamento de bugs de código e fornece aos desenvolvedores uma correção para o problema que faz com que o código não seja executado. A maioria dos desenvolvedores não sabe que a função de impressão do Python não fornece a imagem exata dos erros que ocorrem no desenvolvimento. Então, o que você pode usar para identificar e corrigir esses erros? A resposta é ferramentas de depuração! Eles melhoram a produtividade e ajudam a tornar o tempo do processo de codificação eficaz.


O Python Debugger (pdb) é um depurador de código-fonte interativo para programas Python. Além da depuração, ele fornece funcionalidade adicional, como definir pontos de interrupção condicionais, percorrer o código-fonte linha por linha e verificar as variáveis em uma linha específica e sua pilha de chamadas.


Este artigo explicará como a ferramenta de depuração, pdb , é usada para inspecionar e analisar seu código para torná-lo compatível com o padrão do setor durante o teste e antes do envio aos usuários.


Pré-requisitos

Para entender o processo de depuração, você precisa ter:

  • Pitão instalado em sua máquina local
  • Conhecimento de Python


Maneiras de melhorar seus programas em Python

Para depurar seu código Python corretamente, você precisa estar ciente das seguintes dicas para ajudar a melhorar a produtividade e a verificação de erros:

  • Linting: detecta problemas com seu código antes de executá-lo. Uma maneira de fazer isso funcionar é instalando um software que ajude a codificar por cores seus programas para que você cometa menos erros e os resolva rapidamente quando o IDE (VS Code) apontar o erro. Uma dessas ferramentas é Pylint , e dá sugestões quando você codifica.
  • Um ambiente de desenvolvimento integrado (IDE) / editor: IDEs específicos do Python, como PyCharmGenericName ou Código VS têm ferramentas e recursos integrados que ajudam na formatação automática do código com base em PEP8 e destacam seu código quando há um erro.
  • Erros de leitura: aprender a ler erros de código em seus programas Python resolveria significativamente metade do problema porque você pode entender o que eles significam no console.


 name = 'teri print(name)


Console

Depurando Python com pdb

Nesta seção, você testará um código Python usando o Python Debugger, pdb . Executar o código e resolver erros à medida que ocorrem em tempo real em um ambiente interativo.


O módulo pdb integrado faz parte da biblioteca padrão que o Python acompanha durante a instalação em sua ferramenta de trabalho. Essa ferramenta fornece vários outros comandos que você pode usar ao testar seu programa. Vamos escrever uma função usando pdb. Crie um novo arquivo app.py ou qualquer outro nome que desejar em seu editor de código, terminando com a extensão .py .


 import pdb def multiply_number(num1, num2): pdb.set_trace() return num1 * num2 print(multiply_number(5, 10))


O código acima faz o seguinte:

  • Importar a biblioteca pdb
  • Defina uma função, multiply_number com dois parâmetros, num1 e num2
  • Chame a biblioteca com o método set_trace , que é útil no objeto pdb , pois pausa seu programa e entra no modo de depurador que permite digitar e testar seu código no console
  • Obtenha o resultado dos argumentos com a palavra-chave return
  • Chame a função e passe os argumentos numéricos


A execução deste programa com o comando python3 <name-of-file.py> entra no depurador, onde podemos passar vários comandos do depurador para executar o código. Verifica a Comandos do depurador documentação para encontrar a lista completa de comandos que você pode usar.


A seguir, vamos testar alguns comandos no console:

Digitar a ou args lista todos os argumentos usados na função atual, multiple_number.



Antes de tentar outro comando, atualize o código no arquivo app.py para incluir a string como parte do argumento, para que os programas produzam erros durante a execução:


 # app.py import pdb def multiply_number(num1, num2): pdb.set_trace() return num1 * num2 print(multiply_number(5, 'execute'))


Execute novamente o programa com o comando python3 app.py:

Digite num1 e num2 no console, ele mostra o resultado dos argumentos passados na função multiple_number.



Outros comandos que você pode tentar incluem a próxima etapa, continuar e assim por diante, que estão na documentação.


Por fim, uma vez que o pdb tenha identificado o erro no código e o número da linha em que ocorreu, você pode voltar ao seu código e limpá-lo corrigindo o erro e usando o argumento correto para que o programa seja executado.


Observação: o módulo pdb é para teste durante o desenvolvimento, não para produção. Remova-o antes de implantar.

Conclusão

Este artigo orienta você a adotar as práticas recomendadas ao tentar corrigir o código e identificar erros. Usar o método é melhor do que a função de impressão, pois possui muito mais recursos para ajudá-lo a melhorar a qualidade do seu código.


Saber mais