Depurar seu aplicativo gravando execução de código com o IntelliTrace
Para passar menos tempo depurando seu aplicativo, registre e controle seu histórico de execução com o IntelliTrace no Visual Studio Ultimate.Isso ajuda você a localizar mais facilmente os bugs sem definir muitos pontos de interrupção porque o IntelliTrace permite:
Registrar eventos específicos que aconteceram em seu aplicativo.
Isso permite que você examine código relacionado, dados que aparecem na janela Locais durante eventos de depurador e informações de chamada de função, se você optar pela coleta.
Reduza o reinício de seu aplicativo para recriar bugs ou eventos.
Os erros de depuração difíceis de reproduzir ou que ocorrem fora do Visual Studio, por exemplo, em ambientes de produção ou outros.
Este exemplo mostra como os eventos de registro podem ajudar você a localizar um bug em seu código:
Assista o IntelliTrace em ação: Coletando e analisando dados do IntelliTrace em produção para depuração (exibição do Channel 9).
O que você deseja fazer?
Depurar meu aplicativo com o IntelliTrace no Visual Studio:
|
|
Coletar dados do IntelliTrace durante uma sessão de teste no Test Manager |
|
Coletar dados do IntelliTrace de aplicativos executados fora do Visual Studio |
|
Inicie a depuração de um arquivo de log do IntelliTrace (arquivo .iTrace). |
FAQ
Que aplicativos posso depurar com o IntelliTrace?
Por que depurar com o IntelliTrace?
O que o IntelliTrace coleta?
O IntelliTrace fará com que meu aplicativo fique mais lento?
Que aplicativos posso depurar com o IntelliTrace?
Suportado |
|
Suporte limitado |
|
Sem suporte |
|
Observação |
---|
Se você quiser depurar um processo que já estiver sendo executado, você não poderá usar o IntelliTrace.Você deve iniciar o IntelliTrace quando o processo for iniciado. |
Por que depurar com o IntelliTrace?
A depuração tradicional ou ao vivo mostra somente o estado atual do seu aplicativo com dados limitados sobre eventos passados.Ou você terá de interpretar esses eventos com base no estado atual do aplicativo, ou terá de recriá-los ao executar novamente o aplicativo.
O IntelliTrace expande esta experiência tradicional de depuração registrando eventos específicos e os dados nestes pontos no tempo.Isso permite que você veja o que ocorreu em seu aplicativo sem reiniciá-lo, especialmente se você passar do ponto onde está o bug.O IntelliTrace é ativado por padrão durante a depuração tradicional e coleta dados automaticamente e de forma invisível.Isso permite que você alterne facilmente entre a depuração tradicional e a depuração do IntelliTrace para consultar as informações registradas.Consulte Gravar execução de código com o IntelliTrace para depuração no Visual Studio e Que dados são coletados pelo IntelliTrace?
O IntelliTrace também pode ajudá-lo a depurar erros que são difíceis de reproduzir ou que ocorrem fora do Visual Studio.Você pode coletar dados de IntelliTrace e salvá-los em um arquivo de log do IntelliTrace (arquivo .iTrace).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.Você pode abrir esse arquivo no Visual Studio Ultimate, selecionar um item e iniciar a depuração com o IntelliTrace.Isso permite navegar para qualquer evento no arquivo e ver detalhes específicos sobre seu aplicativo neste ponto no tempo.
Você pode salvar dados do IntelliTrace a partir destas origens:
A sessão do IntelliTrace no Visual Studio Ultimate
Sessão de teste no Microsoft Test Manager
Aplicativos em execução fora do Visual Studio, por exemplo, em ambientes de produção ou em outros ambientes
Visual Studio 2012.1: aplicativos monitorados pelo System Center 2012 Service Pack 1 (SP1) - Operations Manager com IntelliTrace Profiling Management Pack.Consulte Como configurar a integração com o IntelliTrace no System Center 2012.
Consulte Depurar seu aplicativo com arquivos de log do IntelliTrace (.iTrace).
Estes são alguns exemplos de como o IntelliTrace pode ajudar na depuração:
O aplicativo corrompeu um arquivo de dados, mas você não sabe onde este evento ocorreu.
Sem o IntelliTrace, você precisa examinar o código para localizar todos os acessos de arquivo, colocar pontos de interrupção nesses acessos e executar novamente seu aplicativo para localizar onde ocorreu o problema.Com o IntelliTrace, você pode ver todos os eventos de acesso a arquivo coletados e detalhes específicos sobre seu aplicativo quando cada evento ocorreu.
Uma exceção ocorre.
Sem o IntelliTrace, você receberá uma mensagem sobre uma exceção mas não terá muitas informações sobre os eventos que levaram à exceção.Você pode examinar a pilha de chamadas para ver a cadeia de chamadas que conduziu à exceção, mas não pode ver a sequência de eventos que aconteceram durante essas chamadas.Com o IntelliTrace, você pode examinar os eventos que aconteceram antes da exceção.
Seu aplicativo falha em um computador de teste mas é executado com êxito em um computador de desenvolvimento.
Você pode coletar dados do IntelliTrace do Microsoft Test Manager, salvar os dados em um arquivo .iTrace e anexar esse arquivo a um item de trabalho do Team Foundation Server para investigação posterior.Consulte Incluindo dados de rastreamento de diagnóstico com Bugs que são a dificuldade de reproduzir e Depurar seu aplicativo com arquivos de log do IntelliTrace (.iTrace).
Um bug ou uma falha ocorre em seu aplicativo que está sendo executado fora do Visual Studio.
Para aplicativos baseados no Windows Azure, você pode configurar a coleta de dados do IntelliTrace antes de publicar o aplicativo.Quando seu aplicativo for executado, o IntelliTrace salvará dados em um arquivo .iTrace.Consulte Depurando um serviço em nuvem publicado com o IntelliTrace e o Visual Studio.
Para aplicativos de área de trabalho gerenciados (.exe) e aplicativos da Web ASP.NET hospedados no IIS 7.0, 7.5 e 8.0 e aplicativos do SharePoint 2010, você pode usar o coletor autônomo para salvar dados do IntelliTrace em um arquivo .iTrace.
Isso será útil quando você quiser diagnosticar problemas com aplicativos em execução onde você não quiser alterar a configuração do sistema, como em ambiente de produção.Você pode instalar o coletor sem alterar a configuração do seu sistema.Quando terminar de coletar dados, basta excluir o coletor para desinstalá-lo.Consulte Coletar dados do IntelliTrace fora do Visual Studio com o coletor autônomo.
O que o IntelliTrace coleta?
Coletando informações de evento
Por padrão, o IntelliTrace registra somente eventos do IntelliTrace.Esses são eventos do depurador, exceções, eventos do .NET Framework e outros eventos do sistema que podem ajudar você na depuração.Você pode escolher os tipos de eventos do IntelliTrace que você deseja coletar, exceto para eventos do depurador e exceções, que são coletados sempre.Consulte Configurar coleta do IntelliTrace para depuração no Visual Studio.
Eventos do depurador
O IntelliTrace sempre registra eventos que acontecem no depurador do Visual Studio.Por exemplo, iniciar seu aplicativo é um evento do depurador.Outros eventos do depurador são parar eventos, o que faz com que seu aplicativo interrompa a execução.Por exemplo, seu programa atinge um ponto de interrupção, atinge um ponto de controle ou executa um comando Step .
Para ajudar no desempenho, o IntelliTrace não registra todos os valores possíveis para um evento do depurador.Em vez de isso, registra estes valores:
Valores na janela Locais.Mantenha a janela Locais aberta para consultar esses valores.
Valores na janela Autos somente se a janela Autos estiver aberta
Valores em DataTips que aparecem quando você move o ponteiro do mouse sobre uma variável na janela de origem para ver seu valor.O IntelliTrace não coleta valores em DataTips fixados.
Exceções
O IntelliTrace registra o tipo e a mensagem de exceção para estes tipos de exceções:
Exceções tratadas onde a exceção é lançada e capturada
Exceções não tratadas
Eventos do .NET Framework
Por padrão, o IntelliTrace registra os eventos mais comuns do .NET Framework.Por exemplo:
Para um evento de Acesso de Arquivo, o IntelliTrace coleta o nome de arquivo.
Para um evento Verificar Caixa de Seleção, o IntelliTrace coleta o estado e o texto da caixa de seleção.
Visual Studio 2012.1: eventos de aplicativo do SharePoint 2010
Para aplicativos do SharePoint 2010 em execução fora do Visual Studio, você pode registrar e salvar eventos específicos do SharePoint em um arquivo .iTrace usando o coletor autônomo no O Visual Studio 2012.1.
Quando você abre o arquivo .iTrace, pode inserir uma identificação de correlação do SharePoint para localizar a solicitação da Web correspondente, exibir os eventos registrados e iniciar a depuração de um evento específico.Se o arquivo contiver exceções não tratadas, você poderá escolher uma identificação de correlação para iniciar a depuração de uma exceção.Você pode registrar eventos de perfil de usuário e um subconjunto de eventos do ULS (Unified Logging System).
Consulte:
Coletando informações de chamada de função
Você pode configurar o IntelliTrace para coletar informações de chamada para funções.Essas informações permitem que você veja um histórico da pilha de chamadas e permitem que você percorra para frente e para trás as chamadas no código.Para cada chamada de função, o IntelliTrace registra estes dados:
Nome da função
Os valores de tipos de dados primitivos passados como parâmetros em pontos de entrada de função e retornados em pontos de saída de função
Valores de propriedades automáticas quando são lidos ou alterados
Ponteiros para objetos filhos de primeiro nível, mas não seus valores diferentes caso sejam nulos ou não
Observação |
---|
O IntelliTrace coleta somente os 256 primeiros objetos em matrizes e os 256 primeiros caracteres para cadeias de caracteres. |
Consulte Configurar coleta do IntelliTrace para depuração no Visual Studio.
Coletando informações de módulo
Para controlar a quantidade de informações de chamada que o IntelliTrace coleta, especifique somente os módulos que interessem a você.Isso também pode ajudar a melhorar o desempenho do seu aplicativo durante a coleta.Consulte Configurar coleta do IntelliTrace para depuração no Visual Studio.
O IntelliTrace fará com que meu aplicativo fique mais lento?
Por padrão, o IntelliTrace coleta dados somente para eventos do IntelliTrace selecionados.Isso pode ou não tornar o aplicativo mais lento, dependendo da estrutura e da organização do seu código.Por exemplo, se o IntelliTrace registra um evento com frequência, isso poderá tornar o aplicativo mais lento, mas também poderá alertar você de refatorar seu aplicativo.
A coleta de informações de chamada pode deixar seu aplicativo significativamente mais lento.Também pode aumentar o tamanho de qualquer arquivo de log do IntelliTrace (arquivos .iTrace) que você estiver salvando em disco.Para minimizar esses efeitos, colete informações de chamada somente para os módulos desejados.Para alterar o tamanho máximo de seus arquivos de .iTrace, vá para Ferramentas, Opções, IntelliTrace, Avançado.Consulte Configurar coleta do IntelliTrace para depuração no Visual Studio.
Onde posso obter mais informações?
Gravar execução de código com o IntelliTrace para depuração no Visual Studio
Configurar coleta do IntelliTrace para depuração no Visual Studio
Incluindo dados de rastreamento de diagnóstico com Bugs que são a dificuldade de reproduzir
Coletar dados do IntelliTrace fora do Visual Studio com o coletor autônomo
Depurar seu aplicativo com arquivos de log do IntelliTrace (.iTrace)
Blogs
Visual Studio ALM + Team Foundation Server