Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Você pode gastar menos tempo depurando seu aplicativo ao usar o IntelliTrace para registrar e rastrear o histórico de execução do código. Você pode encontrar bugs facilmente porque o IntelliTrace permite:
Registrar eventos específicos
Examinar o código relacionado, os dados exibidos na janela Locais durante eventos do depurador e as informações de chamada de função
Erros de depuração difíceis de reproduzir ou que ocorrem na implantação
Você pode usar o IntelliTrace no Visual Studio Enterprise Edition (mas não nas edições Professional ou Community).
O que você deseja fazer?
Cenário | Título |
---|---|
Depurar meu aplicativo com o IntelliTrace: - Mostre-me eventos passados. - Mostre-me informações sobre chamadas com eventos anteriores. - Salve minha sessão do IntelliTrace. – Controlar os dados coletados pelo IntelliTrace. |
-
Inspecionar estados de aplicativo anteriores usando o IntelliTrace - Passo a passo: usando o IntelliTrace - Recursos do IntelliTrace - Depuração histórica |
Coletar dados do IntelliTrace de aplicativos implantados | - Usando o coletor autônomo do IntelliTrace |
Inicie a depuração a partir de um arquivo de log do IntelliTrace (.iTrace file). | - Usando dados salvos do IntelliTrace |
Quais aplicativos posso depurar com o IntelliTrace?
Nível de suporte | Tipo de aplicativos |
---|---|
Suporte completo | – Aplicativos visual Basic e Visual C# que usam o .NET Framework 2.0 ou versões superiores. Você pode depurar a maioria dos aplicativos, incluindo ASP.NET, Microsoft Azure, Windows Forms, WCF, WPF, Windows Workflow, SharePoint 2010, SharePoint 2013 e aplicativos de 64 bits. Para depurar aplicativos do SharePoint com o IntelliTrace, consulte Passo a passo: Depurando um aplicativo do SharePoint usando o IntelliTrace. Para depurar aplicativos do Microsoft Azure com o IntelliTrace, consulte Depurando um Serviço de Nuvem Publicado com o IntelliTrace e o Visual Studio. |
Suporte limitado | – Aplicativos C++ direcionados ao Windows dão suporte à exibição de instantâneos usando o step-back do IntelliTrace. Há suporte apenas para eventos de depurador e de exceção. - Aplicativos .NET Core e ASP.NET Core apenas suportam determinados eventos (MVC Controller, ADO.NET e HTTPClient) na depuração local. Não há suporte para o Coletor Autônomo para aplicativos .NET Core ou ASP.NET Core. – Aplicativos F# em uma base experimental – Aplicativos UWP compatíveis apenas com eventos |
Sem suporte | - Outros idiomas e script – Aplicativos Windows Services, Silverlight, Xbox ou Windows Mobile |
Observação
Se você quiser depurar um processo que já está em execução, poderá coletar eventos intelliTrace somente (sem informações de chamada). Você pode conectar-se a um processo de 32 bits ou 64 bits apenas na máquina local. Os eventos que ocorrem antes de você anexar ao processo não são coletados.
Por que depurar com o IntelliTrace?
A depuração tradicional ou ao vivo mostra apenas o estado atual de seu aplicativo, com dados limitados sobre eventos passados. Você precisa inferir esses eventos com base no estado atual do aplicativo ou recriar esses eventos executando novamente seu aplicativo.
O IntelliTrace expande essa experiência tradicional de depuração registrando eventos e dados específicos nesses pontos no tempo. Isso permite que você veja o que aconteceu em seu aplicativo sem reiniciá-lo, especialmente se você avançar além do ponto em que o bug ocorre. O IntelliTrace é ativado por padrão durante a depuração tradicional e coleta dados de forma automática e invisivelmente. Isso permite alternar facilmente entre a depuração tradicional e a depuração do IntelliTrace para ver as informações gravadas. Veja os recursos do IntelliTrace e quais dados o IntelliTrace coleta?
O IntelliTrace também pode ajudá-lo a depurar erros difíceis de reproduzir ou que ocorrem na implantação. Você pode coletar dados do IntelliTrace e salvá-los em um arquivo de log do IntelliTrace (.iTrace). Um arquivo .iTrace contém detalhes sobre exceções, eventos de desempenho, solicitações da Web, dados de teste, threads, módulos e outras informações do sistema. Você pode abrir esse arquivo no Visual Studio Enterprise, selecionar um item e iniciar a depuração com o IntelliTrace. Isso permite que você acesse qualquer evento no arquivo e veja detalhes específicos sobre seu aplicativo nesse momento.
Você pode salvar dados do IntelliTrace dessas fontes:
Uma sessão do IntelliTrace no Visual Studio 2015 Enterprise ou versões posteriores ou versões anteriores do Visual Studio Ultimate.
ASP.NET web apps hospedados no IIS, ou aplicativos do SharePoint em execução durante a implantação ao usar o Microsoft Monitoring Agent, sozinho ou com o System Center 2012. Veja como usar o coletor autônomo do IntelliTrace e monitorar com o Microsoft Monitoring Agent.
Importante
O uso do MMA (Microsoft Monitoring Agent) com o IntelliTrace não tem mais suporte quando o Microsoft Monitoring Agent atinge o fim da vida útil em 31 de agosto de 2024. Confira Migrar para o Agente do Azure Monitor por meio do agente do Log Analytics para mais informações.
Aqui estão alguns exemplos de como o IntelliTrace pode ajudá-lo a depurar:
Seu aplicativo corrompeu um arquivo de dados, mas você não sabe onde esse evento aconteceu.
Sem o IntelliTrace, você precisa analisar o código para encontrar todos os acessos de arquivo possíveis, colocar pontos de interrupção nesses acessos e executar novamente seu aplicativo para descobrir onde o problema aconteceu. Com o IntelliTrace, você pode ver todos os eventos de acesso a arquivos coletados e detalhes específicos sobre seu aplicativo quando cada evento aconteceu.
Ocorre uma exceção.
Sem o IntelliTrace, você recebe uma mensagem sobre uma exceção, mas não tem muitas informações sobre os eventos que levaram à exceção. Você pode examinar a pilha de chamadas para ver a cadeia de chamadas que levou à exceção, mas não é possível ver a sequência de eventos que ocorreram durante essas chamadas. Com o IntelliTrace, você pode examinar os eventos que ocorreram antes da exceção.
Um bug ou falha ocorre em um aplicativo implantado.
Para aplicativos baseados no Microsoft Azure, você pode configurar a coleta de dados do IntelliTrace antes de publicar o aplicativo. Enquanto seu aplicativo é executado, o IntelliTrace salva dados em um arquivo .iTrace. Consulte Depurar um Serviço de Nuvem Publicado com o IntelliTrace e o Visual Studio.
Para aplicativos Web ASP.NET hospedados no IIS 7.0, 7.5 e 8.0, e para aplicativos SharePoint 2010 ou SharePoint 2013, use o Microsoft Monitoring Agent, sozinho ou com o System Center 2012, para salvar dados do IntelliTrace em um arquivo .iTrace.
Isso é útil quando você deseja diagnosticar problemas com aplicativos na implantação. Consulte Usar o coletor autônomo do IntelliTrace.
Quais dados o IntelliTrace coleta?
Coletar informações do evento
Por padrão, o IntelliTrace registra apenas eventos IntelliTrace: eventos de depurador, exceções, eventos do .NET Framework e outros eventos do sistema que podem ajudá-lo na depuração. Você pode escolher os tipos de eventos IntelliTrace que deseja coletar, exceto eventos e exceções do depurador, que são sempre coletados. Consulte os recursos do IntelliTrace.
Eventos do depurador
O IntelliTrace sempre registra eventos que ocorrem no depurador do Visual Studio. Por exemplo, iniciar sua aplicação é um evento de depuração. Outros eventos de depurador são eventos de interrupção, que fazem seu aplicativo parar a execução. Por exemplo, seu programa atinge um ponto de interrupção, atinge um ponto de rastreamento ou executa um comando Step .
Por padrão, para ajudar no desempenho, o IntelliTrace não registra todos os valores possíveis para um evento de depurador. Em vez disso, ele registra estes valores:
Valores na janela Locais . Mantenha a janela Locais aberta para ver esses valores.
Valores na janela Autos somente se a janela Autos estiver aberta
Valores em Dicas de Dados 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 fixadas.
Quando o modo Eventos e Instantâneos do IntelliTrace estiver habilitado, o IntelliTrace tirará um instantâneo do processo do aplicativo em cada evento de ponto de interrupção e etapa do depurador. Isso irá registrar valores nas janelas Locals, Autos e Observação, independentemente de as janelas estarem abertas ou não. Valores em quaisquer dicas de dados fixadas também serão coletados.
Exceções
O IntelliTrace registra o tipo de exceção e a mensagem para esses tipos de exceções:
Exceções tratadas onde as exceções são lançadas e capturadas
Exceções sem tratamento
Eventos do .NET Framework
Por padrão, o IntelliTrace registra os eventos mais comuns do .NET Framework. Por exemplo, para um CheckBox.CheckedChanged evento, o IntelliTrace coleta o estado e o texto da caixa de seleção.
Eventos do aplicativo SharePoint 2010 e SharePoint 2013
Você pode registrar eventos de perfil de usuário e um subconjunto de eventos do Sistema de Log Unificado (ULS) para aplicativos do SharePoint 2010 e 2013 em execução fora do Visual Studio. Você pode salvar esses eventos em um arquivo .iTrace. Requer o Visual Studio Enterprise 2015 ou versões posteriores, uma versão anterior do Visual Studio Ultimate ou o Microsoft Monitoring Agent em execução no modo de rastreamento .
Ao abrir o arquivo .iTrace, insira uma ID de correlação do SharePoint para localizar sua 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 sem tratamento, você poderá escolher uma ID de correlação para iniciar a depuração de uma exceção.
Consulte:
Capturar instantâneos
Você pode configurar o IntelliTrace para capturar instantâneos em cada ponto de interrupção e evento de etapa do depurador. O IntelliTrace registra o estado completo do aplicativo em cada instantâneo, o que permite exibir variáveis complexas e avaliar expressões.
Observação
O coletor autônomo do IntelliTrace não dá suporte à captura de instantâneos.
Consulte Inspecionar estados de aplicativo anteriores usando o IntelliTrace.
Coletar informações sobre chamadas 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 que navegue para frente e para trás nas chamadas no código. Para cada chamada de função, o IntelliTrace registra esses dados:
- Nome da função
- 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 filho de primeiro nível, mas não seus valores, exceto se eram nulos ou não
Observação
O IntelliTrace coleta apenas os primeiros 256 objetos em matrizes e os primeiros 256 caracteres para cadeias de caracteres.
Consulte Inspecionar seu aplicativo com depuração histórica.
Coletar informações do módulo
Para controlar a quantidade de informações de chamada coletadas pelo IntelliTrace, especifique apenas os módulos com os quais você se importa. Isso pode ajudar a melhorar o desempenho do aplicativo durante a coleção. Consulte a seção Controlar quantas informações o IntelliTrace coleta nos recursos do IntelliTrace.
O IntelliTrace reduzirá a velocidade do meu aplicativo?
Por padrão, o IntelliTrace coleta dados somente para eventos intelliTrace selecionados. Isso pode ou não diminuir a velocidade do aplicativo, dependendo da estrutura e da organização do código. Por exemplo, se o IntelliTrace registrar um evento com frequência, isso poderá diminuir a velocidade do aplicativo. Isso também pode fazer com que você considere refatorar seu aplicativo.
A coleta de informações de chamada pode desacelerar significativamente seu aplicativo. Também pode aumentar o tamanho de todos os arquivos de log do IntelliTrace (arquivos.iTrace) que você está salvando em disco. Para minimizar esses efeitos, colete informações de chamada somente para os módulos com os quais você se importa. Para alterar o tamanho máximo dos arquivos .iTrace, acesse Ferramentas, Opções, IntelliTrace, Avançado.