Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Lidar com exceções é um problema comum, independentemente da sua tecnologia ou nível de especialização. Pode ser uma experiência frustrante descobrir por que as exceções estão causando problemas em seu código. Quando você está depurando uma exceção no Visual Studio, queremos diminuir essa frustração fornecendo informações de exceção relevantes para ajudá-lo a depurar seu problema mais rapidamente.
Pausa na exceção
Quando o depurador para numa exceção, um ícone de exceção aparece à direita dessa linha de código. Um auxiliar de exceção não modal aparecerá perto do ícone de exceção.
Inspecionar informações de exceção
Você pode ler instantaneamente o tipo de exceção e a mensagem de exceção no Assistente de Exceções, e se a exceção foi lançada ou não foi tratada. Você pode inspecionar e exibir propriedades do objeto Exception clicando no link Exibir detalhes.
Analisar referências nulas
A partir do Visual Studio 2017, para código .NET e C/C++, quando você pressiona um NullReferenceException ou um AccessViolation, você vê informações de análise nulas no Auxiliar de Exceção. A análise é exibida como texto abaixo da mensagem de exceção. Na ilustração abaixo, a informação é apresentada como "s foi nulo."
Observação
A análise de referência nula em código gerenciado requer o .NET versão 4.6.2. Atualmente, não há suporte para análise nula para a Plataforma Universal do Windows (UWP) e quaisquer outros aplicativos .NET Core. Ele só está disponível durante a depuração de código que não tem nenhuma otimização de código Just-In-Time (JIT).
Definir configurações de exceção
Você pode configurar o depurador para interromper quando uma exceção do tipo atual é lançada a partir da seção Configurações de Exceção do Auxiliar de Exceção. Se o depurador estiver pausado em uma exceção lançada, você poderá usar a caixa de seleção para desabilitar a quebra nesse tipo de exceção quando lançada no futuro. Se você não quiser quebrar essa exceção específica quando lançada neste módulo específico, marque a caixa de seleção ao lado do nome do módulo em Exceto quando lançada de: na janela Configurações de exceção.
Inspecionar exceções internas
Se a exceção tiver exceções internas (InnerException, você poderá visualizá-las no Auxiliar de Exceção. Se houver várias exceções presentes, você poderá navegar entre elas usando as setas para a esquerda e para a direita mostradas acima da pilha de chamadas.
Inspecionar exceções relançadas
Nos casos em que uma exceção foi thrown, o Auxiliar de Exceção mostra a pilha de chamadas desde a primeira vez que a exceção foi lançada. Se a exceção foi lançada várias vezes, somente a pilha de chamadas da exceção original é mostrada.
Inspecionar exceções assíncronas (.NET)
A partir do .NET 9, o depurador do Visual Studio quebra automaticamente quando um método Task assíncrono lança uma exceção dentro do código do .NET framework. Isso facilita a depuração de código assíncrono, especialmente em ASP.NET, porque as exceções geralmente são lançadas através de limites assíncronos.
Ver a pilha de chamadas
A partir do Visual Studio 2022 versão 17.3, você pode exibir quadros de pilha de exceção dentro da janela Pilha de chamadas. Para exceções assíncronas, isso adiciona a capacidade de carregar rapidamente símbolos ou localizar fontes e ir diretamente para o site da exceção. Os quadros de exceção na janela Pilha de Chamadas fornecem recursos padrão da pilha de chamadas, como navegação automática, mudança rápida entre quadros, carregamento de símbolos e opções de descompilação para retornar ao código-fonte onde foi lançada a exceção.
Obtenha assistência de IA
Se você tiver Copilot, poderá obter assistência de IA enquanto estiver depurando exceções. Basta procurar o Ask Copilot
botão. Nesses cenários, o Copilot já sabe o contexto para suas perguntas, então você não precisa fornecer contexto no bate-papo. Para obter mais informações, consulte Debug with Copilot.
Obtenha assistência de IA com o contexto do repositório
Quando você está trabalhando no Visual Studio com um repositório de DevOps do Azure, a análise de exceções com o Copilot incorpora o contexto do repositório para uma resolução de exceções mais inteligente, rápida e precisa. O Copilot faz referências cruzadas ao seu repositório aberto, incluindo bugs anteriores, problemas, solicitações pull e correções históricas para fornecer informações acionáveis diretamente relevantes para sua base de código.
Quando encontrar uma exceção:
- O copiloto identifica as causas raiz mais prováveis, os componentes afetados e as possíveis correções.
- O Copilot aproveita o conhecimento do repositório para destacar problemas anteriores semelhantes e suas resoluções, ajudando você a aprender com as correções existentes.
- Exceções complexas são analisadas com contexto completo, conectando o comportamento do tempo de execução a padrões históricos, para que você possa entender valores inesperados ou incorretos rapidamente.
- Ao apresentar correções e insights relevantes automaticamente, o Copilot economiza tempo e reduz a tentativa e erro muitas vezes necessários para depurar problemas desafiadores.
Compartilhar uma sessão de depuração com o Live Share
No Auxiliar de exceção, você pode iniciar uma sessão do do Live Share usando o link Iniciar sessão do Live Share.... Qualquer pessoa que participe da sessão do Live Share pode ver o Auxiliar de Exceção junto com qualquer outra informação de depuração.