debugging-strategies
Aplicar Estratégias Sistemáticas de Depuração
Depurar problemas complexos de software muitas vezes parece aleatório e frustrante. Esta habilidade fornece técnicas sistemáticas de depuração, ferramentas de perfilamento e métodos de análise de causa raiz que transformam a solução de problemas em um processo metódico.
Baixar o ZIP da skill
Upload no Claude
Vá em Configurações → Capacidades → Skills → Upload skill
Ative e comece a usar
Testar
A utilizar "debugging-strategies". Minha API Node.js retorna erros 500 intermitentemente. O erro diz 'Cannot read property of undefined' mas não consigo encontrar onde isso acontece.
Resultado esperado:
Vou aplicar depuração sistemática para encontrar este problema de propriedade indefinida.
## Passo 1: Reproduzir e Observar
- O erro ocorre sempre ou aleatoriamente?
- Qual endpoint da API o dispara?
- Quais parâmetros de requisição são enviados?
## Passo 2: Gather Information
1. Adicione registro estratégico antes do provável ponto de falha:
```javascript
console.log('Order data:', JSON.stringify(order, null, 2));
```
2. Verifique qual propriedade pode estar indefinida:
```javascript
console.log('Items:', order?.items);
console.log('User:', order?.user?.name);
```
## Passo 3: Hipótese
Hipótese: O erro provavelmente ocorre quando:
- order.items está indefinido para certos tipos de requisição
- order.user é null para usuários convidados
## Passo 4: Testar e Verificar
Adicione verificações de null e verifique com requisições de exemplo:
```javascript
const items = order?.items ?? [];
const userName = order?.user?.name ?? 'Guest';
```
Quer que eu ajude você a implementar esta correção?
A utilizar "debugging-strategies". Ajude-me a depurar um vazamento de memória na minha aplicação React.
Resultado esperado:
Vou guiá-lo pela depuração de um vazamento de memória React sistematicamente.
## Fase de Reprodução
1. Abra Chrome DevTools > aba Memory
2. Tire um snapshot do heap (antes)
3. Execute a ação suspeita de causar o vazamento 10-20 vezes
4. Tire outro snapshot (depois)
5. Compare os snapshots para identificar objetos retidos
## Padrões Comuns de Vazamento de Memoria em React
1. Listeners de eventos não cancelados
2. Timers (setInterval) não limpos no cleanup do useEffect
3. Closures mantendo referências ao escopo do componente
4. Caches globais crescendo sem limites
## Passos Rápidos de Depuração
```javascript
useEffect(() => {
const timer = setInterval(() => {
// ...
}, 1000);
// Função de cleanup - CRÍTICO para prevenir vazamentos
return () => {
clearInterval(timer);
// Remova quaisquer assinaturas
};
}, []);
```
Quais sintomas você está vendo? Memória alta no DevTools ou travamentos reais?
Auditoria de Segurança
SeguroStatic analysis detected 54 potential issues, all confirmed as false positives. The 'scripts' patterns are Go import statements in code examples. 'External_commands' are markdown backticks used for code formatting. 'Weak cryptographic algorithm' flags are triggered by Go standard library package names (crypto/pprof). 'Network' URLs are GitHub source URLs and localhost debugging endpoints. All findings are legitimate documentation content with no security concerns.
Pontuação de qualidade
O Que Você Pode Construir
Corrigir bugs evasivos em produção
Aplicar técnicas sistemáticas de depuração para rastrear problemas difíceis de reproduzir em ambientes de produção usando registro, análise de stack trace e depuração diferencial.
Otimizar desempenho lento de aplicações
Usar ferramentas e técnicas de perfilamento para identificar gargalos de desempenho, vazamentos de memória e padrões de código ineficientes em aplicações JavaScript, Python e Go.
Aprender abordagens estruturadas de depuração
Dominar o método científico para depuração, depuração com pato de borracha e isolamento sistemático de problemas para se tornar mais eficaz na solução de qualquer problema de código.
Tente Estes Prompts
Estou vendo este erro na minha aplicação: [insira a mensagem de erro e stack trace]. Aplique técnicas sistemáticas de depuração para me ajudar a identificar a causa raiz. Percorra o método científico: observe, formule hipóteses, experimente, analise.
Minha aplicação [tipo de aplicação] está rodando lentamente. Ajude-me a usar ferramentas de perfilamento para identificar o gargalo. Inclua instruções passo a passo para usar [Chrome DevTools / cProfile / pprof] para encontrar onde o tempo está sendo gasto.
Tenho um bug intermitente que só acontece às vezes e parece estar relacionado a operações assíncronas. Guia-me pela depuração de condições de corrida usando registro de rastreamento e análise de tempo.
Um bug apareceu entre a versão funcional [versão A] e a versão atual [versão B]. Guia-me pelo uso do git bisect para encontrar o commit exato que introduziu a regressão.
Melhores Práticas
- Reproduza o bug consistentemente antes de tentar correções. Sem reprodução consistente, você não pode verificar sua solução.
- Isole o problema removendo código não relacionado. Crie um caso mínimo de reprodução que demonstre o problema.
- Use o depurador, não apenas instruções console.log. Pontos de interrupção permitem inspecionar o estado do programa em qualquer ponto.
Evitar
- Fazer múltiplas alterações de uma vez. Mude uma coisa de cada vez para entender o que realmente corrige o problema.
- Ignorar mensagens de erro ou não ler o stack trace completo. A mensagem de erro e o stack trace contêm pistas valiosas.
- Assumir que o bug está no código de outra pessoa. A maioria dos bugs está nas suas próprias alterações recentes, não em bibliotecas de terceiros.
Perguntas Frequentes
O que é o método científico para depuração?
Como depuro problemas de produção com segurança?
O que é depuração por busca binária?
Como depuro bugs intermitentes?
O que é depuração com pato de borracha?
Como uso git bisect para encontrar quando um bug foi introduzido?
Detalhes do Desenvolvedor
Autor
wshobsonLicença
MIT
Repositório
https://github.com/wshobson/agents/tree/main/plugins/developer-essentials/skills/debugging-strategiesReferência
main
Estrutura de arquivos
📄 SKILL.md