Gravar a execução de código com o IntelliTrace durante a depuração

Para registrar e controlar o histórico de execução do código ou aplicativo com o IntelliTrace no Visual Studio Ultimate, basta iniciar a depuração como de costume. Por padrão, o IntelliTrace está ativado e registra automaticamente eventos e dados específicos para que você possa consultar com facilidade o que ocorreu em seu aplicativo. Consulte Depurar seu aplicativo gravando execução de código com o IntelliTrace.

Para confirmar se o IntelliTrace está ativado:

Ativar ou desativar o IntelliTrace no Visual Studio

Dica

Desmarcar Habilitar IntelliTrace desativa todas as configurações personalizadas do IntelliTrace.Essas configurações aplicam-se a todos os projetos e soluções.Elas persistem entre sessões de depuração e sessões do Visual Studio.

O que você deseja fazer?

  • Depurar somente com eventos

  • Escolher os eventos que o IntelliTrace registra

  • Depurar com eventos e informações de chamada

  • Controlar a quantidade de informações gravadas pelo IntelliTrace

  • Salve sua sessão do IntelliTrace

Depurar somente com eventos

Você pode tentar depurar somente com eventos de IntelliTrace para ver se só isso ajuda a localizar o bug. Os eventos do IntelliTrace são eventos do depurador, exceções, eventos do .NET Framework e outros eventos do sistema. Você pode ativar ou desativar eventos específicos para controlar os eventos que o IntelliTrace registra, mas faça isso antes de iniciar a depuração.

Esta é uma visão geral sobre depuração somente com eventos do IntelliTrace:

Eventos do IntelliTrace somente - reprodução de bug

Eventos do IntelliTrace somente - detalhes e código de evento

Eventos do IntelliTrace encontrados somente - erro

Voltar ao início

Estas são as etapas detalhadas da depuração somente com eventos do IntelliTrace:

  1. Inicie a depuração como de costume. Reproduza o bug.

    Dica

    Mantenha as janelas Locais e Automáticos abertas para consultar e registrar os valores mostrados nessas janelas.Para iniciar a depuração, pressione F5 ou, no menu Depurar, escolha Iniciar Depuração.Se você não vir a janela IntelliTrace quando iniciar a depuração, talvez o IntelliTrace não esteja ativado ou a janela pode estar fechada.Para abrir a janela IntelliTrace, vá para Depurar, IntelliTrace, Eventos do IntelliTrace.

  2. Interrompa a execução do seu aplicativo manualmente.

    Dica

    No menu Depurar ou na janela IntelliTrace, escolha Interromper Tudo.

    Agora você verá uma lista cronológica de eventos na janela IntelliTrace, começando na parte superior com o primeiro evento e terminando com o último evento quando o depurador interromper a execução.

    Eventos de diagnóstico do IntelliTrace janela mostrando

  3. Localize o evento mais próximo de onde você reproduziu o bug; neste caso, antes que seu aplicativo tenha interrompido a execução.

  4. Escolha o evento para expandir seus detalhes.

    • Se o código-fonte estiver disponível, o Visual Studio moverá o ponteiro para o código correspondente na janela de origem para que você possa examiná-lo.

    • Para ver os dados que o IntelliTrace registrou quando o evento ocorreu, escolha um link Modos de exibição relacionados para ver a janela correspondente do depurador.

    • Se o evento for um evento de acesso de arquivo, escolha o link do nome do caminho para abrir o arquivo. Se o nome do caminho completo não estiver disponível, localize o arquivo usando a caixa de pesquisa que aparece.

  5. Se você não encontrou o bug, tente examinar outros eventos que levam ao bug. Você também pode fazer o IntelliTrace registrar informações de chamada para que você possa passar por chamadas de função.

Voltar ao início

Escolher os eventos que o IntelliTrace registra

Você pode ativar ou desativar o registro de eventos específicos do IntelliTrace, exceto para eventos do depurador e exceções, que são registrados sempre pelo IntelliTrace.

  1. Se você estiver depurando, pare a depuração. Caso contrário, reinicie a depuração após escolher eventos.

  2. Vá para Ferramentas, Opções, IntelliTrace, Eventos do IntelliTrace. Escolha os eventos e as categorias do evento para o IntelliTrace registrar.

    Configurar coleta de eventos do IntelliTrace

Voltar ao início

Depurar com eventos e informações de chamada

Se você tiver que examinar a sequência de chamadas de função do aplicativo para localizar o bug, o IntelliTrace poderá registrar chamadas de função com eventos. Isso permite que você consulte o histórico da pilha de chamadas, avance e retorne nas chamadas em seu código e veja os dados que o IntelliTrace registrou, como nomes de função, seus pontos de entrada e de saída e determinados valores de parâmetro e valores de retorno. Consulte Depurar seu aplicativo gravando execução de código com o IntelliTrace.

  1. Se você estiver depurando, pare a depuração. Caso contrário, reinicie a depuração depois de ativar a coleta de chamadas.

  2. Ative a coleta de chamadas.

    Configurar coleta de chamadas do IntelliTrace

    Dica

    Isso pode tornar seu aplicativo mais lento e aumentar o tamanho de qualquer arquivo de log do IntelliTrace (arquivos .iTrace) que você estiver salvando em disco.Para obter a maioria de dados de chamada, mas minimizar os efeitos, o registra dados somente dos módulos de seu interesse.Para alterar o tamanho máximo de seus arquivos de .iTrace, vá para Ferramentas, Opções, IntelliTrace, Avançado.

  3. Inicie a depuração como de costume. Reproduza o bug.

    Dica

    Mantenha as janelas Locais e Automáticos para consultar e registrar os valores mostrados nessas janelas.Para iniciar a depuração, pressione F5 ou, no menu Depurar, escolha Iniciar Depuração.Se você não vir a janela IntelliTrace quando iniciar a depuração, talvez o IntelliTrace não esteja ativado ou a janela pode estar fechada.Para abrir a janela IntelliTrace, vá para Depurar, IntelliTrace, Eventos do IntelliTrace.

  4. Interrompa a execução do seu aplicativo manualmente.

    Dica

    No menu Depurar ou na janela IntelliTrace, escolha Interromper Tudo.

  5. Localizar o evento mais próximo de onde você reproduziu o bug. Consulte Depurar somente com eventos.

  6. Escolha o evento para expandir seus detalhes. Ao lado de Exibições relacionadas, escolha Exibição Chamadas.

    Eventos de diagnóstico do IntelliTrace janela mostrando

    Agora você vê o histórico da pilha de chamadas de seu aplicativo, começando pela parte superior com a chamada raiz do aplicativo e terminando com a chamada atual relativa ao evento escolhido, não atualizado como em tempo real.

    Janela do IntelliTrace chama o modo de exibição

    Recuada na chamada atual, outra lista mostra chamadas que a chamada atual fez para outras funções. A lista recuada também mostra eventos do IntelliTrace para a chamada atual.

    Dica

    As chamadas aparecem esmaecidas porque o IntelliTrace não registra dados dos módulos correspondentes.Para ver esses dados, faça com que o IntelliTrace colete dados desses módulos.

  7. Localize a chamada seguinte ao evento escolhido. Clique duas vezes nessa chamada para entrar nela.

    Na janela Exibição Chamadas, a chamada em que você entrou agora é a chamada atual na parte inferior da pilha de chamadas. A lista recuada agora mostra chamadas e eventos para essa nova chamada atual. A janela de origem e as janelas do depurador também são atualizadas para essa nova chamada atual.

    Dica

    Se você quiser apenas ver o site da chamada, clique uma vez na chamada na janela Exibição Chamadas em vez de clicar duas vezes nela.Isso move o ponteiro para o site de chamada mas não entra nela, de forma que você ainda está na chamada atual.

  8. Para percorrer as chamadas e eventos, use a medianiz de navegação que aparece ao longo da janela de origem quando as informações de chamada estiverem disponíveis. Se a medianiz de navegação não estiver exibida, vá para Ferramentas, Opções, IntelliTrace, Avançado. Escolha Exibir a navegação ainda no modo de depuração.

    Definir o contexto do depurador aqui

    Defina o contexto de depuração para o período de chamada onde ele aparece.

    Esse ícone aparece somente em cada quadro da pilha de chamadas atual.

    Voltar para o site de chamada

    Mova o ponteiro e o contexto de depuração para trás no tempo para onde a função atual foi chamada.

    Se você estiver no modo de depuração tradicional, esse comando fará com que a depuração seja iniciada com o IntelliTrace.

    Ir para chamada anterior ou para evento do IntelliTrace

    Mova o ponteiro e o contexto de depuração para trás no tempo para a chamada ou evento anterior.

    Se você estiver no modo de depuração tradicional, esse comando fará com que a depuração seja iniciada com o IntelliTrace.

    Entrar

    Mova o ponteiro e o contexto de depuração para frente no tempo para a função selecionada no momento.

    Esse comando só estará disponível quando você estiver depurando com o IntelliTrace.

    Ir para próxima chamada ou para evento do IntelliTrace

    Mova o ponteiro e contexto de depuração para frente no tempo para a próxima chamada ou evento para a qual existam dados do IntelliTrace.

    Esse comando só estará disponível quando você estiver depurando com o IntelliTrace.

    Ir para o modo ao vivo

    Volte para a depuração tradicional onde você iniciou a depuração com o IntelliTrace.

  9. Para localizar uma instância específica de uma chamada, procure instâncias registradas dessa chamada no IntelliTrace:

    1. De uma linha de código onde a chamada foi feita:

      Localize a instância de chamada durante a depuração do IntelliTrace

      Dica

      Se a linha for uma saída do método, você não obterá resultados precisos.

      - ou -

      De dentro do corpo da função que é chamada:

      1. Verifique se o arquivo de projeto que contém a função está aberto no Visual Studio.

      2. Abra o menu de atalho no corpo da função. Escolha Procurar Este Método no IntelliTrace.

    2. Procure os resultados para localizar a instância do seu interesse. Escolha a instância para sincronizar a janela Exibição Chamadas e para examinar os dados registrados para essa instância.

Voltar ao início

Controlar a quantidade de informações que serão gravadas pelo IntelliTrace

Você pode ter informações de chamada de registro do IntelliTrace somente para os módulos de seu interesse. Isso também pode ajudar a melhorar o desempenho do seu aplicativo.

Para adicionar vários módulos, use o caractere curinga * no início ou no final da cadeia de caracteres. Para nomes de módulos, use nomes de arquivos, e não nomes de assembly. Caminhos de arquivo não são aceitos.

Configurar a coleta de módulo do IntelliTrace

Dica

A exclusão dos módulos ainda pode resultar na coleta de dados de módulos que não interessem a você, como módulos de terceiros ou de código aberto.

Voltar ao início

Salve sua sessão do IntelliTrace

Para continuar sua sessão mais tarde, salve-a como um arquivo de log do IntelliTrace (arquivo .iTrace).

Salvar sua sessão manualmente

Salvar o IntelliTrace manualmente no Visual Studio

Salvar sua sessão automaticamente

Salvar a sessão do IntelliTrace automaticamente

Dica

Para economizar espaço em disco, desative o salvamento de arquivos .iTrace quando eles não forem mais necessários.Todos os arquivos .iTrace existentes permanecerão.

O Visual Studio limita o tamanho de arquivo .iTrace padrão a 250 MB porque o IntelliTrace pode coletar muitos dados.Quando o arquivo atingir seu limite, o Visual Studio criará espaço para as entradas mais recentes excluindo as entradas mais antigas.Para salvar mais dados do que o limite padrão, altere o tamanho máximo de gravação do arquivo.

O Visual Studio cria dois arquivos .iTrace para cada sessão do IntelliTrace quando eles são salvos automaticamente e o processo de hospedagem do Visual Studio (vshost.exe) está ativado.O Visual Studio cria um arquivo .iTrace para o aplicativo e um arquivo .iTrace para o processo de hospedagem.Esse processo melhora o desempenho de depuração, habilita determinados recursos de depuração e está ativado por padrão.

O arquivo de dados .iTrace contém?

Um arquivo .iTrace contém detalhes sobre exceções, threads, solicitações da Web, dados de teste, módulos e outras informações do sistema. Quando você abre o arquivo no Visual Studio Ultimate, seleciona um item e inicia a depuração, pode ir para qualquer evento no arquivo para examinar código e dados registrados relacionados sobre seu aplicativo naquele momento. Consulte Depurar seu aplicativo usando dados salvos do IntelliTrace.

Para depurar erros ou falhas que ocorrem durante testes no Microsoft Test Manager mas que sejam difíceis de reproduzir em seu ambiente de desenvolvimento, tente configurar o Test Manager para coletar dados do IntelliTrace. Você pode salvar esses dados em um arquivo .iTrace e anexá-los a um item de trabalho do Team Foundation Server para maiores investigações. Consulte Analisar testes com falha e acompanhar bugs.

Para depurar erros ou falhas que ocorrem onde você não deseja alterar a configuração do sistema, como os ambientes de produção, tente usando o coletor autônomo para salvar dados do IntelliTrace em um arquivo .iTrace. Consulte Coletar dados de diagnóstico em produção usando o coletor autônomo do IntelliTrace.

Voltar ao início

Onde posso obter mais informações?

Depurar seu aplicativo gravando execução de código com o IntelliTrace

Coletar dados de diagnóstico em produção usando o coletor autônomo do IntelliTrace

Depurar seu aplicativo usando dados salvos do IntelliTrace

Blogs

Visual Studio ALM + Team Foundation Server

Fóruns

Depurador do Visual Studio

Orientação

Teste para entrega contínua com o Visual Studio 2012 – Capítulo 6: Uma caixa de ferramentas de teste

Vídeos

Vídeo do Channel 9: coleta e análise de dados do IntelliTrace para depuração