Passas uma hora a escrever código, corres e... erro. Ou pior: não dá erro, mas o resultado está errado. Depurar (debugging) é a arte de encontrar a causa e corrigi-la. É uma competência que se treina e que separa quem desiste de quem avança.
Tipos de erros
- Erros de sintaxe: escreveste algo que a linguagem não entende (falta um parêntese, uma vírgula, dois pontos). O programa nem arranca.
- Erros de execução: o programa arranca mas falha a meio (dividir por zero, aceder a algo que não existe).
- Erros de lógica: o programa corre sem queixas, mas faz a coisa errada. São os mais difíceis de apanhar.

Primeiro: lê a mensagem de erro
A maioria dos iniciantes ignora-a. Ela diz-te quase sempre o tipo de erro, o ficheiro e a linha. Exemplo em Python:
Traceback (most recent call last):
File "troco.py", line 4, in <module>
print(pago - preco)
NameError: name 'preco' is not definedTradução: na linha 4 do ficheiro troco.py, usaste uma variável preco que nunca definiste. Pode ser um erro de escrita (preço vs preco) ou falta de atribuição.
Método de 6 passos
- Reproduz o erro. Descobre exatamente o que fazes para ele aparecer.
- Isola. Reduz o código até ao mínimo que ainda falha.
- Formula uma hipótese. "Acho que a variável está vazia aqui."
- Verifica. Imprime valores ou usa o depurador.
- Corrige uma coisa de cada vez.
- Testa de novo e confirma que não partiste outra coisa.
Imprimir valores
A técnica mais simples e eficaz:
def media(notas):
print("notas:", notas) # o que recebi?
total = sum(notas)
print("total:", total)
return total / len(notas)Em JavaScript: console.log(valor). Quando perceberes o problema, remove as linhas de teste.
Usar o depurador
O VS Code e os navegadores têm depuradores integrados. Permitem:
- Breakpoints: marcar uma linha onde o programa pára.
- Executar passo a passo e ver o valor de cada variável.
- Ver a pilha de chamadas: quem chamou quem.
No navegador, abre as ferramentas (F12) e vai ao separador Sources ou Depurador. Num ambiente com VS Code, clica à esquerda do número da linha para pôr um breakpoint.
A técnica do "patinho de borracha"
Explica o teu código, linha a linha, em voz alta, a um objeto (ou a um colega). Muitas vezes, a meio da explicação, descobres o erro. Funciona porque te obriga a dizer o que o código realmente faz, e não o que pensas que faz.
Erros frequentes e suspeitos habituais
- Usar
=em vez de==ou===numa comparação. - Índices fora do limite (listas começam em 0).
- Variáveis com nomes parecidos.
- Tipos errados: texto onde devia estar número.
- Alterar uma lista enquanto a percorres.
- Falta de
returnnuma função. - Caminhos de ficheiros errados ou ficheiro com extensão oculta.
Quando pedir ajuda
Se gastaste 30 minutos sem avançar, pede ajuda, mas com um bom pedido:
- O que queres que o programa faça.
- O código mínimo que reproduz o problema.
- A mensagem de erro completa.
- O que já tentaste.
Pedidos assim recebem respostas rápidas e ensinam-te a pensar melhor. Se o problema for num site que já está online e precisas de uma mão profissional, podemos ajudar na correção de erros em sites.
Prevenir é melhor do que depurar
- Escreve e testa pequenos pedaços de cada vez.
- Dá nomes claros às variáveis.
- Usa Git para poderes voltar atrás.
- Mantém as funções curtas e com um único objetivo.
Perguntas frequentes
É normal passar mais tempo a depurar do que a escrever?
Sim. Programadores experientes gastam uma boa parte do tempo a ler, testar e corrigir código.
Print ou depurador?
Ambos servem. O print é rápido para casos simples; o depurador compensa em problemas complicados.
Posso usar IA para ajudar a depurar?
Pode ajudar a explicar um erro, mas deves sempre perceber a correção proposta. Se só copiares, não aprendes e podes introduzir novos problemas.




