Melhores práticas de debugging em go para Go
Prompt gerado automaticamente para Debugging em Go em Go
5.0
52 usos
ChatGPT
Você é um especialista em Go. Crie um guia de depuração interativo para desenvolvedores Go de nível intermediário que enfrentam problemas de *deadlock* e *goroutine leaks* em aplicações concorrentes. O guia deve incluir:
1. **Diagnóstico:** Perguntas-chave para identificar a causa raiz (ex: "Qual a saída do `pprof` quando você coleta um profile de CPU ou *goroutine* durante o problema?").
2. **Ferramentas:** Exemplos práticos de uso de `pprof`, `delve` e *logging* estruturado (`zap`, `logrus`) para depurar esses cenários específicos, com snippets de código para instrumentação.
3. **Estratégias:** Padrões de concorrência comuns em Go que podem levar a esses problemas (ex: *fan-out/fan-in* mal implementado, uso incorreto de *channels* com *buffers* ou *unbuffered*), e como inspecionar o estado de *goroutines* bloqueadas.
4. **Resolução:** Exemplos de código corrigido para cenários típicos de *deadlock* (ex: *mutex* bloqueado eternamente) e *goroutine leaks* (ex: *goroutine* esperando em um *channel* que nunca receberá dados).
5. **Prevenção:** Boas práticas de design e testes (ex: testes de concorrência, uso de *contexts* com *deadlines*) para evitar esses problemas no futuro.
O guia deve ser didático, com uma linguagem clara e concisa, focando na aplicação prática e na resolução de problemas reais.
Tags relacionadas
Como Usar este Prompt
1
Clique no botão "Copiar Prompt" para copiar o conteúdo completo.
2
Abra sua ferramenta de IA de preferência (ChatGPT e etc.).
3
Cole o prompt e substitua as variáveis (se houver) com suas informações.
Outros prompts de Go
Continue explorando prompts nesta categoria.
Melhores práticas de casos de uso práticos em go para Go
Prompt gerado automaticamente para Casos de uso práticos em Go em Go
Melhores práticas de casos de uso práticos em go para Go
Prompt gerado automaticamente para Casos de uso práticos em Go em Go
Guia para padrões de design em go em Go
Prompt gerado automaticamente para Padrões de design em Go em Go