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.
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:
Registar eventos específicos
Examine o código relacionado, os dados que aparecem na janela Locais durante eventos do depurador e as informações de chamada de função.
Depurar erros difíceis de reproduzir ou que acontecem na implantação
Você pode usar o IntelliTrace na edição Enterprise do Visual Studio (mas não nas edições Professional ou Community).
O que pretende fazer?
| Cenário | Título |
|---|---|
|
Depurar meu aplicativo com o IntelliTrace: - Mostre-me eventos passados. - Mostre-me informações de chamada com eventos passados. - Salve minha sessão do IntelliTrace. - Controlar os dados que o IntelliTrace recolhe. |
-
Inspecionar estados anteriores do aplicativo 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 IntelliTrace |
| Inicie a depuração a partir de um arquivo de log do IntelliTrace (arquivo .iTrace). | - Usando dados salvos do IntelliTrace |
Que aplicações posso depurar com o IntelliTrace?
| Nível de suporte | Tipos de aplicação |
|---|---|
| Suporte completo | - Aplicativos Visual Basic e Visual C# que usam .NET Framework 2.0 ou versões superiores. Você pode depurar a maioria dos aplicativos, incluindo ASP.NET, Microsoft Azure, Windows Forms, WCF, WPF, Fluxo de Trabalho do Windows, 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 | - As aplicações C++ direcionadas ao Windows permitem a visualização de instantâneos usando o recurso de retrocesso do IntelliTrace. Somente eventos de depurador e exceção são suportados. - As aplicações .NET Core e ASP.NET Core são suportadas apenas para determinados eventos, (MVC Controller, ADO.NET e eventos HTTPClient) durante a depuração local. O coletor autônomo não é suportado para aplicativos .NET Core ou ASP.NET Core. - Aplicações F# numa base experimental - Aplicativos UWP suportados apenas para eventos |
| Não suportado | - Outras línguas e escrita - Serviços do Windows, Silverlight, Xbox ou aplicativos Windows Mobile |
Observação
Se quiser depurar um processo que já está em execução, você pode coletar apenas eventos do IntelliTrace (sem informações de chamada). Pode ligar-se a um processo de 32 bits ou 64 bits apenas na máquina local. Os eventos que ocorrem antes de se ligar ao processo não são coletados.
Porquê depurar com o IntelliTrace?
A depuração tradicional ou ao vivo mostra apenas o estado atual da sua aplicação, com dados limitados sobre eventos anteriores. Você precisa inferir esses eventos com base no estado atual do aplicativo ou recriar esses eventos executando novamente o aplicativo.
O IntelliTrace expande essa experiência tradicional de depuração registrando eventos e dados específicos nesses momentos. Isto permite que tu vejas o que aconteceu na tua aplicação sem reiniciá-la, especialmente se passares do local onde se encontra o erro. O IntelliTrace é ativado por padrão durante a depuração tradicional e coleta dados de forma automática e invisível. Isso permite alternar facilmente entre a depuração tradicional e a depuração do IntelliTrace para ver as informações gravadas. Consulte 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 acontecem na implantação. Você pode coletar dados do IntelliTrace e salvá-los em um arquivo de log do IntelliTrace (arquivo .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ê vá a qualquer evento no arquivo e veja detalhes específicos sobre seu aplicativo naquele momento.
Você pode salvar dados do IntelliTrace destas 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 aplicações web hospedadas no IIS ou aplicações do SharePoint em execução durante a implantação quando o utilizador usa o Microsoft Monitoring Agent, quer sozinho, quer em conjunto com o System Center 2012. Consulte Usar o coletor autónomo IntelliTrace e Monitorização com o Microsoft Monitoring Agent.
Importante
O uso do Microsoft Monitoring Agent (MMA) com o IntelliTrace não é mais suportado quando o Microsoft Monitoring Agent atinge o fim da vida útil em 31 de agosto de 2024. Para obter mais informações, consulte Migrar para o Azure Monitor Agent a partir do agente do Log Analytics.
Aqui estão alguns exemplos de como o IntelliTrace pode ajudá-lo com a debugging:
Seu aplicativo corrompeu um arquivo de dados, mas você não sabe onde esse evento aconteceu.
Sem o IntelliTrace, você precisa examinar o código para encontrar todos os acessos possíveis a arquivos, colocar pontos de interrupção nesses acessos e executar novamente seu aplicativo para encontrar 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.
Uma exceção acontece.
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 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.
Um bug ou falha acontece 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 o 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 aplicativos do 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 em implantação. Consulte Usar o coletor autônomo IntelliTrace.
Que dados são recolhidos pelo IntelliTrace?
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 com a depuração. Você pode escolher os tipos de eventos do IntelliTrace que deseja coletar, exceto para eventos e exceções do depurador, que são sempre coletados. Consulte Recursos do IntelliTrace.
Eventos do depurador
O IntelliTrace sempre registra eventos que acontecem no depurador do Visual Studio. Por exemplo, iniciar o seu aplicativo é um evento de depuração. Outros eventos do depurador são eventos de parada, que fazem com que o seu aplicativo interrompa a execução. Por exemplo, o 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 do 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 apenas 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 recolhe valores em DataTips fixadas.
Quando o modo Eventos e Instantâneos do IntelliTrace estiver ativado, o IntelliTrace tirará um instantâneo do processo do aplicativo em cada evento Ponto de interrupção e Etapa do depurador. Isso registrará valores nas janelas Locals, Autos e Watch , independentemente de as janelas estarem abertas ou não. Os valores em quaisquer dicas de dados fixados também serão coletados.
Exceções
O IntelliTrace regista o tipo de exceção e a mensagem para estes tipos de exceções:
Exceções tratadas em que 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 CheckBox.CheckedChanged evento, o IntelliTrace coleta o estado e o texto da caixa de seleção.
Eventos de aplicativos do SharePoint 2010 e do 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 executados 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 gravados 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.
Veja:
Capturar instantâneos
Você pode configurar o IntelliTrace para capturar imagens instantâneas em cada ponto de interrupção e evento de passo do depurador. O IntelliTrace registra o estado completo do aplicativo em cada instantâneo, o que permite visualizar variáveis complexas e avaliar expressões.
Observação
O coletor autônomo IntelliTrace não suporta a captura de instantâneos.
Consulte Inspecionar estados anteriores de aplicativos usando o IntelliTrace.
Recolher 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 permite que você retroceda e avance através de 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 eles 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 que o IntelliTrace coleta, especifique apenas os módulos que lhe interessam. Isso pode ajudar a melhorar o desempenho do seu aplicativo durante a coleta. Consulte a seção Controlar a quantidade de informações que o IntelliTrace coleta nos recursos do IntelliTrace.
O IntelliTrace irá tornar a minha aplicação mais lenta?
Por padrão, o IntelliTrace coleta dados apenas para eventos selecionados do IntelliTrace. Isso pode ou não tornar seu aplicativo mais lento, dependendo da estrutura e da organização do seu código. Por exemplo, se o IntelliTrace registrar um evento com frequência, isso poderá tornar seu aplicativo mais lento. Também pode fazer você considerar a refatoração de seu aplicativo.
A coleta de informações de chamada pode tornar seu aplicativo significativamente mais lento. Também pode aumentar o tamanho de quaisquer ficheiros de registo do IntelliTrace (ficheiros .iTrace) que esteja a guardar no disco. Para minimizar esses efeitos, colete informações de chamada apenas para os módulos que lhe interessam. Para alterar o tamanho máximo dos seus ficheiros .iTrace, aceda a Ferramentas, Opções, IntelliTrace, Avançadas.