Pular para o conteúdo
Skillpedia
Testes48 mil · #2740

debugging-code

Ajuda seu agente a depurar códigos linha por linha. Permite ver o estado das variáveis e entender como o programa está funcionando.

O que ela faz

Ajuda a encontrar erros em códigos de programação. Você pode pausar o programa, ver os valores das variáveis e avançar linha por linha para entender o que está acontecendo.

Quando usar

  • ✓Quando um programa trava ou dá erro.
  • ✓Quando o resultado do programa está errado.
  • ✓Quando você precisa entender como o código chegou a um certo ponto.

Exemplo do que pedir para a IA

“Me ajude a depurar este código Python: `meu_script.py`”

Quer saber mais? Abra as seções abaixo.

Como usar

O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.

Link da skill

https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/debugging-code/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/debugging-code/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
Como funciona

A ferramenta pausa a execução do seu código em pontos específicos. Você pode então examinar o estado atual, como os valores das variáveis, e controlar a execução passo a passo.

Instalação

Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.

No terminal (Claude Code, Codex, Cursor), na pasta do projeto:

npx skills add sickn33/agentic-awesome-skills --skill debugging-code

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/debugging-code/SKILL.md -o SKILL.md
Conteúdo técnico (SKILL.md)

Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.

Depurador Interativo

Quando Usar

Use esta habilidade quando precisar depurar código-fonte interativamente — definir pontos de interrupção, percorrer a execução linha por linha, inspecionar o estado de variáveis em tempo real, avaliar expressões contra o programa em execução e navegar pela pilha de chamadas para rastrear as causas raiz. Use quando um programa travar, gerar exceções inesperadas, produzir...

Use quando um programa travar, produzir saída incorreta ou você precisar entender exatamente como a execução chegou a um determinado estado — e executá-lo novamente com mais instruções print não fornecer a resposta rápido o suficiente.

Você pode pausar um programa em execução a qualquer momento, ler os valores das variáveis em tempo real e a pilha de chamadas naquele exato momento, avançar linha por linha ou pular para o próximo ponto de interrupção, e avaliar expressões arbitrárias contra o processo em tempo real — tudo sem reiniciar.

Configuração

Esta habilidade usa dap, uma ferramenta CLI que atua como um daemon em segundo plano para interagir com o depurador via Protocolo DAP, mantendo o estado do depurador, para que você possa simplesmente interagir com ele com várias chamadas.

Se dap não estiver instalado (verifique: command -v dap), instale-o AGORA. Pergunte/notifique o usuário antes de prosseguir com a instalação.

Via Homebrew (macOS)

brew install AlmogBaku/tap/dap

Script instalador:

bash scripts/install-dap.sh

Instalar a partir das fontes:

go install github.com/AlmogBaku/debug-skill/cmd/dap@latest

Esta ferramenta é de código aberto e está disponível no GitHub, mantida e segue as melhores práticas.

Suporta nativamente Python, Go, Node.js/TypeScript, Rust, C/C++, e qualquer outra linguagem que suporte DAP.

Se um backend de depurador estiver faltando ou falhar ao iniciar, consulte references/installing-debuggers.md

Para todos os comandos e flags: dap --help ou dap <cmd> --help.

Iniciando uma Sessão

dap debug <file> inicia o programa sob o depurador. O backend é detectado automaticamente pela extensão do arquivo.

Escolha sua estratégia de início com base no que você sabe:

  • Tem uma hipótese — defina um ponto de interrupção onde você espera o bug: dap debug script.py --break script.py:42
  • Ponto de interrupção condicional — pare apenas quando uma condição for atendida: dap debug script.py --break "script.py:42:x > 5" ( sempre coloque as especificações com condições entre aspas)
  • Aplicativo com múltiplos arquivos — pontos de interrupção entre módulos: --break src/api/routes.py:55 --break src/models/user.py:30
  • Sem hipótese, programa pequeno — percorra desde a entrada: dap debug script.py --stop-on-entry (evite para projetos grandes — o código de inicialização é barulhento; use bissecção com pontos de interrupção em vez disso)
  • Exceção, localização desconhecida — dap debug script.py --break-on-exception raised (Python) / all (Go/JS)
  • Processo remoto — dap debug --attach host:port --backend <name>
  • Processo já em execução (servidor travado, problema ativo) — anexe sem reiniciar: dap debug --pid <PID> --backend <name>

    Observação sobre macOS + Go: dlv --pid requer SIP desativado (csrutil disable). Prefira iniciar o programa sob o depurador em vez disso ou anexe a um depurador remoto!

Isolamento de sessão: --session <name> impede que agentes concorrentes interfiram. Dica: Você pode querer usar o ID da sua sessão (${CLAUDE_SESSION_ID}) se disponível.

Execute dap debug --help para ver todas as flags, backends e exemplos.

A Mentalidade de Depuração

Recorra a um depurador quando a leitura do código-fonte sozinha não puder validar a causa raiz. Um depurador permite que você observe o que acontece: valores reais, caminho real, estado real. Quando isso diverge do que deveria acontecer, você encontrou seu bug.

Duas tentativas falhas, repense. Se duas hipóteses falharem no mesmo local, seu modelo mental está errado. Releia o código, forme uma teoria completamente diferente com pontos de interrupção diferentes.

Escalone gradualmente. Comece com dap eval para testar uma hipótese rápida. Use pontos de interrupção condicionais para filtrar o ruído. Volte para pontos de interrupção completos + percorrer apenas quando precisar de controle interativo.

Imite a jornada do usuário. Se você estiver depurando um fluxo de usuário, defina pontos de interrupção ao longo do caminho que você espera que o código siga. Se você esperava que compute() fosse chamado, mas ele nunca é, então o bug está no chamador — não em compute(), mas no que quer que fosse suposto chamá-lo.

Defina pontos de interrupção em vez de prints. Quando sentir a vontade de imprimir algo, defina um ponto de interrupção em vez disso.

Conheça Seu Estado

Cada comando de execução dap retorna o contexto completo automaticamente: localização atual, código-fonte, variáveis locais, pilha de chamadas e saída. A cada parada, pergunte:

  • As variáveis locais têm os valores que eu esperava?

…

Perguntas frequentes

Como eu instalo essa ferramenta?

Você pode instalar usando o Homebrew no macOS (`brew install AlmogBaku/tap/dap`), um script de instalação (`bash scripts/install-dap.sh`) ou compilando do código fonte (`go install github.com/AlmogBaku/debug-skill/cmd/dap@latest`).

Quais linguagens de programação são suportadas?

Suporta Python, Go, Node.js/TypeScript, Rust, C/C++ e outras linguagens que usam o protocolo DAP.

O que é um 'breakpoint'?

Um 'breakpoint' é um ponto que você define no código onde a execução deve parar temporariamente, permitindo que você inspecione o estado do programa.

Detalhes

Descrição original do autor

Interactively debug source code — set breakpoints, step through execution line by line, inspect live variable state, evaluate expressions against the running program, and navigate the call stack to trace root causes.

repo: sickn33/agentic-awesome-skills

Popularidade

Estrelas no GitHub
48 mil
Posição no ranking
#2740
Licença
MIT
Atualizada em
15/10/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas