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.
Observação
A depuração de instantâneo foi descontinuada e deixará de estar disponível nas versões mais recentes do Visual Studio 2022 e versões posteriores. Embora não haja uma substituição exata, existem outras ferramentas que podem fornecer diagnósticos úteis:
O Snapshot Debugger captura um instantâneo dos aplicativos em produção quando o código que lhe interessa é executado. Para instruir o depurador a tirar um instantâneo, defina pontos de captura e pontos de registo no seu código. O depurador permite que você veja exatamente o que deu errado, sem afetar o tráfego do seu aplicativo de produção. O Depurador de Snapshot pode ajudá-lo a reduzir drasticamente o tempo necessário para resolver problemas que ocorrem em ambientes de produção.
Os pontos de instantâneo e os pontos de registo são semelhantes aos pontos de interrupção. Contudo, ao contrário dos pontos de interrupção, os pontos de instantâneo não param a aplicação quando são atingidos. Normalmente, a captura de um instantâneo num snappoint leva de 10 a 20 milissegundos.
Neste tutorial, você irá:
- Inicie o depurador de capturas
- Definir um ponto de captura e visualizar um instantâneo
- Definir um ponto de registo
Pré-requisitos
O Depurador de Instantâneo só está disponível a partir do Visual Studio 2017 Enterprise versão 15.5 ou superior com a carga de trabalho de desenvolvimento do Azure. (Na guia Componentes individuais , você o encontra em Depuração e teste>Depurador de instantâneo.)
Se ainda não estiver instalado, instale o Visual Studio 2019. Se estiveres a atualizar a partir de uma instalação anterior do Visual Studio, executa o Visual Studio Installer e verifica o componente Depurador de Instantâneos na carga de trabalho de desenvolvimento ASP.NET e Web.
Plano básico ou superior do Serviço de Aplicativo do Azure.
A coleção de instantâneos está disponível para os seguintes aplicativos Web em execução no Serviço de Aplicativo do Azure:
- ASP.NET aplicativos executados no .NET Framework 4.6.1 ou posterior.
- Aplicações ASP.NET Core a correr no .NET Core 2.0 ou posterior em Windows.
Abra seu projeto e inicie o Depurador de instantâneo
Abra o projeto que você gostaria de depurar instantâneo.
Importante
Para fazer a depuração de instantâneo, você precisa abrir a mesma versão do código-fonte que é publicada no seu Serviço de Aplicativo do Azure.
Escolha >. Selecione o Serviço de Aplicativo do Azure no qual o seu projeto está implantado e uma conta de armazenamento Azure e clique em Anexar. O Depurador de Instantâneo também dá suporte ao Serviço Kubernetes do Azure e aos Conjuntos de Dimensionamento de Máquinas Virtuais (VM) ou Máquinas Virtuais do Azure.
Importante
Na primeira vez que selecionar Anexar Depurador de Instantâneo, você será solicitado a instalar a extensão de site do Depurador de Instantâneo no Serviço de Aplicativo do Azure. Esta instalação requer uma reinicialização do seu Serviço de Aplicativo do Azure.
Observação
(Visual Studio 2019 versão 16.2 e superior) O Depurador de Instantâneo ativou suporte para a nuvem Azure. Certifique-se de que o recurso do Azure e a conta de Armazenamento do Azure selecionada são da mesma nuvem. Entre em contato com o administrador do Azure se tiver dúvidas sobre as configurações de conformidade do Azure da sua empresa.
O Visual Studio agora está no modo de depuração por instantâneo.
A janela Módulos mostra quando todos os módulos foram carregados para o Serviço de Aplicativo do Azure (escolha Depurar > Módulos do Windows > para abrir esta janela).
Definir um ponto de encaixe
No editor de código, clique na calha lateral ao lado de uma linha de código em que está interessado para definir um snappoint. Certifique-se de que é o código que você sabe que será executado.
Clique em Iniciar Coleção para ativar o snappoint.
Sugestão
Você não pode executar passo a passo ao visualizar um instantâneo, mas pode colocar vários pontos de interrupção no seu código para rastrear a execução em diferentes linhas de código. Se tiver vários pontos de ajuste no seu código, o Depurador de Captura assegura que as capturas correspondentes sejam da mesma sessão de utilizador final. O Depurador de Instantâneo faz isso mesmo se houver muitos usuários acessando seu aplicativo.
Tire uma foto
Depois de definir um ponto de captura, pode gerar manualmente um instantâneo acedendo à vista do navegador do seu site e correndo a linha de código marcada ou aguardar que os utilizadores o gerem através do uso do site.
Inspecionar dados de instantâneo
Quando o ponto de ajuste é atingido, um instantâneo aparece na janela Ferramentas de Diagnóstico. Para abrir esta janela, escolha Depurar > Mostrar Ferramentas de Diagnóstico > do Windows.
Clique duas vezes no ponto de captura para abrir o instantâneo no editor de código.
A partir dessa exibição, você pode passar o mouse sobre variáveis para exibir Dicas de Dados, usar as janelas Locais, Inspeções e Pilha de Chamadas e também avaliar expressões.
O site em si ainda está ativo e os usuários finais não são afetados. Por padrão, apenas um snapshot é capturado por snappoint: depois que um snapshot é capturado, o snappoint é desativado. Se quiser capturar outro instantâneo no ponto de ajuste, pode reativar o ponto de ajuste clicando em Atualizar coleção.
Você também pode adicionar mais pontos de ajuste ao seu aplicativo e ativá-los com o botão Atualizar coleção .
Precisa de ajuda? Consulte as páginas de Resolução de problemas e questões conhecidas e Perguntas frequentes sobre depuração de instantâneos.
Configurar um snappoint condicional
Se for difícil recriar um estado específico na sua aplicação, considere usar um ponto de verificação condicional. Os pontos de ajuste condicionais ajudam a controlar quando tirar um instantâneo, como quando uma variável contém um valor específico que você deseja inspecionar. Você pode definir condições usando expressões, filtros ou contagens de acertos.
Para criar um ponto de ajuste condicional
Clique com o botão direito do rato num ícone de snappoint (a esfera oca) e escolha Configurações.
Na janela de configurações do snappoint, digite uma expressão.
Na ilustração anterior, o instantâneo é tirado apenas para o ponto instantâneo quando
visitor.FirstName == "Dan".
Definir um ponto de registo
Além de tirar um instantâneo quando um snappoint é atingido, você também pode configurar um snappoint para registrar uma mensagem (ou seja, criar um ponto de log). Você pode definir pontos de log sem precisar reimplantar seu aplicativo. Os pontos de log são executados virtualmente e não causam impacto ou efeitos colaterais ao seu aplicativo em execução.
Para criar um ponto de log:
Clique com o botão direito do rato num ícone de ponto de encaixe (o hexágono azul) e escolha Configurações.
Na janela de configurações do snappoint, selecione Ações.
No campo Mensagem , você pode inserir a nova mensagem de log que deseja registrar. Você também pode avaliar variáveis em sua mensagem de log colocando-as dentro de chaves encaracoladas.
Se você escolher Enviar para a janela de saída, quando o ponto de log for atingido, a mensagem aparecerá na janela Ferramentas de diagnóstico.
Se você escolher Enviar para o log do aplicativo, quando o ponto de log for atingido, a mensagem aparecerá em qualquer lugar do qual você possa ver mensagens (
System.Diagnostics.TraceouILoggerno .NET Core), como o App Insights.
Conteúdo relacionado
Neste tutorial, aprendeste a usar o Depurador de Instantâneo para Serviços de Aplicações. Você pode querer ler mais detalhes sobre esse recurso.