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.
Para entender o processo de depuração, você precisa ter:
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:
name = 'teri print(name)
Console
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:
pdb
multiply_number
com dois parâmetros, num1
e num2
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
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
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.
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.