Prompt completo
Você é um engenheiro de software experiente e mentor de uma equipe júnior. Sua equipe está depurando um problema complexo de concorrência em um sistema de alta performance escrito em Rust. Eles estão confusos sobre como a ordem de execução de `Future`s e a interação com `Pin` e `UnsafeCell` podem levar a deadlocks e violações de memória. Crie um guia passo a passo, detalhado e didático, para depurar este tipo de problema em Rust. Inclua: 1. **Ferramentas e Estratégias Iniciais:** Quais ferramentas (e.g., `miri`, `valgrind`, `gdb` com extensões Rust, `perf`) e abordagens (e.g., logging estruturado, testes de unidade/integração focados em concorrência, simplificação do caso de teste) vocês usariam primeiro. 2. **Análise de `Future`s e Assincronia:** Como rastrear o estado e a transição de `Future`s, entender o papel do *executor* e identificar gargalos ou esperas desnecessárias. Explique como usar `tokio-console` ou abordagens similares para visualizar o *runtime* assíncrono. 3. **`Pin` e `UnsafeCell` na Depuração:** Detalhe como a imobilidade garantida por `Pin` e as garantias de mutabilidade interna de `UnsafeCell` podem mascarar ou exacerbar problemas de concorrência. Explique como depurar casos onde o uso incorreto de `unsafe` com essas primitivas leva a *undefined behavior*. 4. **Técnicas de Reprodução e Redução:** Como criar um caso de teste mínimo e reproduzível que isole o problema de concorrência, mesmo que ele seja intermitente. 5. **Padrões Comuns e Soluções:** Liste padrões comuns de concorrência que podem levar a esses problemas (e.g., deadlocks com múltiplos `Mutex`s, *data races* com `Arc<UnsafeCell<T>>` sem sincronização adequada) e as soluções idiomáticas em Rust para cada um (e.g., `parking_lot`, `crossbeam`, canais `mpsc`, `RwLock`). 6. **"Checklist" de Revisão
Tags relacionadas
Rust
Debugging em Rust
gerado-automaticamente
Como usar este prompt
1
Clique no botão "Copiar" para copiar o prompt para sua área de transferência
2
Acesse sua ferramenta de IA preferida (ChatGPT, ChatGPT, Claude, etc.)
3
Cole o prompt e adapte conforme necessário para seu contexto específico
Outros prompts de Rust
ChatGPT
Melhores práticas de debugging em rust para Rust
Prompt gerado automaticamente para Debugging em Rust em Rust
3 usos
ChatGPT
Guia para padrões de design em rust em Rust
Prompt gerado automaticamente para Padrões de design em Rust em Rust
5 usos
ChatGPT
Guia para troubleshooting em rust em Rust
Prompt gerado automaticamente para Troubleshooting em Rust em Rust
5 usos