🟦
ChatGPT intermediate

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

3 usos ASP.NET Core

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