Como utilizar o Python Debugger (pdb)

Debugar um código Python é uma habilidade essencial para qualquer programador que deseja identificar e corrigir erros de forma eficiente. Neste tutorial, vamos explorar como utilizar o debugger em Python, abordando desde a configuração inicial até técnicas avançadas de depuração.
O debugger em Python é uma ferramenta poderosa que permite pausar a execução do código, inspecionar variáveis e executar o código linha a linha. Isso facilita a identificação de bugs e a compreensão do comportamento do programa.
Para começar a usar o debugger no VS Code, siga os passos abaixo:
Vamos ver um exemplo prático de como usar o debugger em Python. Considere o código abaixo:
nomes = ['José', 'Bernardo', 'Paola', 'Fernando', 'Rita']
idades = [20, 16, 18, 40, 12]
for nome, idade in zip(nomes, idades):
if idade > 18:
maior_de_idade = True
elif idade < 18:
maior_de_idade = False
print(f'{nome} tem {idade} anos. É maior de idade? {maior_de_idade}')
TestarPara depurar este código, adicione um breakpoint na linha onde a variável maior_de_idade
é definida. Isso permitirá pausar a execução e inspecionar o valor das variáveis.
Inicie a depuração no VS Code. O código será executado até o breakpoint, e você poderá ver o valor das variáveis no painel de debugger.
No painel de debugger, você pode inspecionar o valor das variáveis e ver como elas mudam a cada iteração do loop. Isso é especialmente útil para entender o comportamento do código e identificar onde os erros ocorrem.
O debugger em Python oferece vários comandos para controlar a execução do código:
Esses comandos permitem navegar pelo código de forma granular, facilitando a identificação de bugs.
O PDB (Python Debugger) é o depurador padrão do Python e pode ser usado diretamente no código. Para usar o PDB, importe o módulo e adicione um ponto de interrupção com pdb.set_trace()
.
import pdb
nomes = ['José', 'Bernardo', 'Paola', 'Fernando', 'Rita']
idades = [20, 16, 18, 40, 12]
for nome, idade in zip(nomes, idades):
pdb.set_trace()
if idade > 18:
maior_de_idade = True
elif idade < 18:
maior_de_idade = False
print(f'{nome} tem {idade} anos. É maior de idade? {maior_de_idade}')
Quando o código atinge pdb.set_trace()
, ele pausa a execução e abre um terminal interativo onde você pode inspecionar variáveis e executar comandos.
O uso de um debugger em Python é uma prática essencial para qualquer desenvolvedor que deseja escrever código robusto e livre de erros. Com as ferramentas e técnicas apresentadas neste tutorial, você estará bem equipado para identificar e corrigir bugs de forma eficiente.
Lembre-se de que a prática leva à perfeição. Experimente diferentes cenários e familiarize-se com as funcionalidades do debugger para tirar o máximo proveito dessa ferramenta poderosa.
Aprenda a programar e desenvolva soluções para o seu trabalho com Python para alcançar novas oportunidades profissionais. Aqui na Asimov você encontra:
Comentários
30xp