Prompt completo
Você é um engenheiro de software sênior especializado em desenvolvimento e depuração de aplicações ASP.NET Core. Sua tarefa é criar um guia passo a passo, detalhado e prático, para um desenvolvedor júnior que está enfrentando dificuldades para diagnosticar e resolver um problema comum: uma exceção `NullReferenceException` que ocorre intermitentemente em um método de um serviço (registrado como `Scoped`) que acessa um repositório (registrado como `Transient`), dentro de um controlador (registrado como `Singleton` para fins de teste de performance) em uma aplicação ASP.NET Core Web API. O guia deve cobrir as seguintes etapas e considerações, com exemplos de código quando apropriado: 1. **Reprodução e Observação:** Como garantir que o erro seja reproduzido de forma consistente, e quais informações coletar (logs, stack trace, estado das variáveis) no momento da exceção. 2. **Ferramentas de Depuração:** Explique o uso eficaz de breakpoints condicionais, pontos de rastreamento (tracepoints), janelas de inspeção (Watch/Locals), e a janela de exceções no Visual Studio. 3. **Análise do Stack Trace:** Como interpretar o stack trace para identificar a origem real do problema, mesmo que a exceção seja lançada em um ponto diferente. 4. **Injeção de Dependência e Ciclo de Vida:** Explique a importância do ciclo de vida das dependências (Singleton, Scoped, Transient) e como uma má configuração pode levar a `NullReferenceException` (especialmente "Captive Dependencies"). Mostre como verificar o ciclo de vida registrado. 5. **Variáveis Nulas:** Como identificar qual variável está nula e por que. Considere cenários como: * Parâmetros de método nulos. * Propriedades de objeto nulas. * Resultados de chamadas de método que retornam nulo. * Problemas de inicialização de objetos. 6. **Estratégias de Tratamento:** * Validação de argumentos e retornos (Guards). * Uso de operadores condicionais nulos (`?.`, `??`). * Padrões de projeto para evitar nulos (e.g., Null Object Pattern). *
Tags relacionadas
ASP.NET Core
Debugging em ASP.NET Core
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 ASP.NET Core
ChatGPT
Melhores práticas de debugging em asp.net core para ASP.NET Core
Prompt gerado automaticamente para Debugging em ASP.NET Core em ASP.NET Core
4 usos
ChatGPT
Melhores práticas de debugging em asp.net core para ASP.NET Core
Prompt gerado automaticamente para Debugging em ASP.NET Core em ASP.NET Core
5 usos
ChatGPT
Melhores práticas de casos de uso práticos em asp.net core para ASP.NET Core
Prompt gerado automaticamente para Casos de uso práticos em ASP.NET Core em ASP.NET Core
5 usos