Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
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 está a depurar uma exceção no Visual Studio, queremos reduzir essa frustração fornecendo-lhe informações relevantes sobre exceções para o ajudar a depurar o 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, tanto para código .NET como para C/C++, quando atinge um NullReferenceException ou um AccessViolation, vê informação de análise de nulos no Exception Helper. 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 gerido requer .NET versão 4.6.2. Atualmente, a análise nula não é suportada para a Plataforma Universal do Windows (UWP) nem para quaisquer outras aplicações .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 falha automaticamente quando um método Task assíncrono lança uma exceção dentro do código do framework .NET. Isto facilita a depuração de código assíncrono, especialmente no ASP.NET, porque as exceções são frequentemente lançadas através de fronteiras assíncronas.
Ver a pilha de chamadas
A partir do Visual Studio 2022 versão 17.3, pode visualizar os frames da pilha de exceções dentro da janela da 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 tiveres Copilot, podes obter assistência de IA enquanto estás a depurar exceções. Basta procurar o botão Analyze com Copilot ou Perguntar ao Copilot
. Nestes cenários, o Copilot já conhece o contexto das tuas perguntas, por isso não precisas de o dar tu próprio no chat. Para mais informações, consulte Debug com Copilot.
Se o Copilot quiser aceder ao contexto da janela de Saída para ajudar a analisar o problema, irá pedir-lhe essa permissão na janela do Chat. Se conceder permissão, permite que o Copilot realize análises adicionais da exceção com base nos detalhes do tempo de execução. O Assistente de Exceções, análise de variáveis, inspeção de código e outros cenários de depuração têm acesso a este contexto para a sessão de depuração atual.
Obtenha assistência de IA com o contexto do repositório
Quando estiver a trabalhar no Visual Studio com um repositório do Azure DevOps, a análise de exceções com o Copilot incorpora o contexto do repositório para uma resolução de exceções mais inteligente, mais rápida e mais precisa. O Copilot faz referência cruzada ao seu repositório aberto, incluindo bugs antigos, questões, pull requests e correções históricas, para fornecer insights acionáveis diretamente relacionados com a sua base de código.
Quando encontrar uma exceção:
- O Copilot identifica as causas raiz mais prováveis, os componentes afetados e as possíveis soluções.
- O Copilot aproveita o conhecimento do repositório para destacar problemas passados semelhantes e as suas soluções, ajudando-o 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 revelar automaticamente correções e insights relevantes, o Copilot poupa tempo e reduz o processo de tentativa e erro frequentemente necessário para depurar problemas desafiantes.
Para bugs complexos que requerem diagnóstico de ponta a ponta para além de uma única exceção, pode usar o Agente Depurador. O Debugger Agent fornece um fluxo de trabalho agentico que reproduz, instrumenta e valida correções usando dados de execução em tempo real. Para mais informações, consulte Resolução de bugs com agência com o Debugger.
Compartilhar uma sessão de depuração com o Live Share
No Auxiliar de Exceção, pode iniciar uma sessão de Live Share usando o link Iniciar sessão do Live Share.... Qualquer pessoa que participe no Live Share pode ver o Auxiliar de Exceção juntamente com qualquer outra informação de depuração.