18 de Abril de 2025
Como debugar com método
Como investigar bug de forma disciplinada e reduzir ruído enquanto você testa hipóteses.
Andrews Ribeiro
Founder & Engineer
3 min Intermediario Sistemas
O problema
Tem bug que deixa o time tão desconfortável que a reação vira movimento.
Não vira entendimento. Vira movimento.
Aí começa a sequência:
- troca timeout
- reinicia serviço
- comenta bloco
- sobe log em dez lugares
- muda duas configurações
Se o bug some, ninguém sabe por que. Se continua, agora existe mais ruido ainda.
Modelo mental
Debug sem critério costuma seguir esta pergunta errada:
“O que eu posso mexer agora para ver se passa?”
Debug melhor segue esta:
“O que eu preciso observar para reduzir incerteza antes de mexer?”
Isso muda bastante o comportamento.
Em vez de sair empurrando o sistema, você começa a enquadrar melhor o problema.
Quebrando o problema
Primeiro defina o sintoma real
Antes de corrigir, responda:
- o que está errado exatamente?
- onde aparece?
- com que frequência?
- quem é afetado?
Sem isso, você corre o risco de atacar uma descrição vaga, não um problema concreto.
Depois delimite o escopo
Perguntas úteis:
- isso acontece em um fluxo ou em vários?
- é para todos os usuários ou para um segmento?
- começou depois de qual mudança?
- acontece só em produção ou também em staging/local?
Escopo menor significa busca menor.
Tente reproduzir com disciplina
Nem todo bug vai reproduzir fácil.
Mas mesmo quando não reproduz exatamente, vale tentar:
- um caminho mínimo
- um dado específico
- uma condição de tempo ou concorrência
- um recorte de ambiente
Reprodução é poderosa porque transforma teoria em comportamento observável.
Mude uma coisa por vez
Esse ponto parece banal, mas separa debug de loteria.
Se você altera várias variáveis juntas, perde a chance de saber o que realmente influenciou o resultado.
Em debug, controle experimental importa.
Exemplo simples
Imagine erro intermitente no checkout.
Reação ruim:
- aumentar timeout
- trocar ordem de chamada
- reiniciar pod
- subir duas flags
Reação melhor:
- confirmar se o erro acontece em todos os meios de pagamento
- ver quando começou
- correlacionar com deploy ou fornecedor externo
- isolar uma request com contexto suficiente
- testar hipotese de forma pontual
No segundo caso, talvez a correção demore alguns minutos a mais.
Mas o entendimento costuma vir muito mais limpo.
Erros comuns
- Querer parecer rápido em vez de reduzir incerteza.
- Confundir mudança de comportamento com confirmação de causa.
- Sair editando código sem ter recorte mínimo do problema.
- Logar tudo e acabar sem sinal útil.
- Tratar reproducao como opcional sempre.
Como um senior pensa
Quem tem mais experiência costuma frear a sala antes de acelerar.
O raciocínio geralmente é:
“Se a gente mexer sem entender, talvez atenue o sintoma, mas perca a chance de explicar o problema. Primeiro eu quero evidência suficiente para mexer com direção.”
Essa postura parece mais lenta para quem esta aflito.
Na prática, isso costuma economizar tempo.
O que o entrevistador quer ver
Em entrevista, esse tema mede disciplina técnica.
O avaliador quer ver se você:
- define sintoma antes da solução
- reduz escopo
- propõe observação antes de editar
- muda uma variável por vez
Uma resposta forte costuma soar assim:
“Eu começaria delimitando o sintoma e o escopo. Depois tentaria reproduzir ou pelo menos correlacionar o problema com sinais confiáveis. Só então eu alteraria uma coisa por vez para validar a hipótese.”
Debug fraco parece ação. Debug forte parece investigação.
Resumo rápido
O que vale manter na cabeça
- Debug bom diminui incerteza antes de propor correção.
- Mexer em várias coisas ao mesmo tempo pode até mascarar o bug, mas quase sempre piora o aprendizado.
- Observar, delimitar e reproduzir valem mais do que sair adicionando log e retry por reflexo.
- Quem depura bem pensa em evidência, não em pressa performática.
Checklist de pratica
Use isto ao responder
- Consigo explicar por que mudar várias coisas ao mesmo tempo atrapalha o debug?
- Sei dizer como delimitar escopo antes de corrigir?
- Consigo descrever um caminho de investigação antes de propor patch?
- Sei falar de debug em entrevista como método e não como intuição mágica?
Você concluiu este artigo
Compartilhar esta página
Copie o link manualmente no campo abaixo.