IntelliTrace para Visual Studio Enterprise (C#, Visual Basic, C++)IntelliTrace for Visual Studio Enterprise (C#, Visual Basic, C++)

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.You can spend less time debugging your application when you use IntelliTrace to record and trace your code's execution history. Você pode encontrar bugs facilmente porque o IntelliTrace permite:You can find bugs easily because IntelliTrace lets you:

  • Registrar eventos específicosRecord specific events

  • Examine o código relacionado, os dados que aparecem na janela locais durante os eventos do depurador e informações de chamada de funçãoExamine related code, data that appears in the Locals window during debugger events, and function call information

  • Depurar erros difíceis de reproduzir ou que ocorrem na implantaçãoDebug errors that are hard to reproduce or that happen in deployment

Você pode usar o IntelliTrace no Visual Studio Enterprise Edition (mas não as edições Professional ou Community).You can use IntelliTrace in Visual Studio Enterprise edition (but not the Professional or Community editions).

O que você deseja fazer?What do you want to do?

Depurar meu aplicativo com o IntelliTrace:Debug my application with IntelliTrace:

– Mostrar-me eventos passados.- Show me past events.
– Mostrar-me informações de chamadas com eventos passados.- Show me call information with past events.
– Salvar minha sessão do IntelliTrace.- Save my IntelliTrace session.
– Controlar os dados que são coletados pelo IntelliTrace.- Control the data that IntelliTrace collects.
- inspecionar os Estados do aplicativo anterior usando o IntelliTrace- Inspect previous app states using IntelliTrace
- Passo a passo: usando o IntelliTrace- Walkthrough: Using IntelliTrace
- Recursos do IntelliTrace- IntelliTrace Features
- Depuração de histórico- Historical Debugging
Coletar dados do IntelliTrace de aplicativos implantadosCollect IntelliTrace data from deployed applications - Usando o coletor IntelliTrace autônomo- Using the IntelliTrace stand-alone collector
Iniciar a depuração a partir de um arquivo de log do IntelliTrace (arquivo .iTrace).Start debugging from an IntelliTrace log file (.iTrace file). - Usando os dados salvos do IntelliTrace- Using saved IntelliTrace data

Que aplicativos posso depurar com o IntelliTrace?What apps can I debug with IntelliTrace?

Suporte completoFull support -Visual Basic e aplicativos C# visuais que usam o .NET Framework 2,0 ou versões posteriores.- Visual Basic and Visual C# applications that use .NET Framework 2.0 or higher versions.
É possível depurar a maioria dos aplicativos, inclusive ASP.NET, Microsoft Azure, Windows Forms, WCF, WPF, Windows Workflow, SharePoint 2010, SharePoint 2013 e aplicativos de 64 bits.You can debug most applications, including ASP.NET, Microsoft Azure, Windows Forms, WCF, WPF, Windows Workflow, SharePoint 2010, SharePoint 2013, and 64-bit apps.
Para depurar aplicativos do SharePoint com o IntelliTrace, consulte Walkthrough: Depurando um aplicativo do SharePoint usando o IntelliTrace.To debug SharePoint applications with IntelliTrace, see Walkthrough: Debugging a SharePoint Application by Using IntelliTrace.
Para depurar Microsoft Azure aplicativos com o IntelliTrace, consulte Depurando um serviço de nuvem publicado com o IntelliTrace e o Visual Studio.To debug Microsoft Azure apps with IntelliTrace, see Debugging a Published Cloud Service with IntelliTrace and Visual Studio.
Suporte limitadoLimited support - C++ aplicativos direcionados ao suporte do Windows exibindo instantâneos usando o passo do IntelliTrace.- C++ apps targeting Windows support viewing snapshots using IntelliTrace step-back. Somente os eventos Debugger e Exception têm suporte.Only debugger and exception events are supported.
-.NET Core e ASP.NET Core aplicativos com suporte para determinados eventos somente (eventos do controlador MVC, ADO.NET e HTTPClient) na depuração local.- .NET Core and ASP.NET Core apps supported for certain events only (MVC Controller, ADO.NET, and HTTPClient events) in local debugging. O coletor autônomo não tem suporte para aplicativos .NET Core ou ASP.NET Core.The Standalone Collector is not supported for .NET Core or ASP.NET Core apps.
– Aplicativos F# em uma base de avaliação- F# apps on an experimental basis
-Aplicativos UWP com suporte somente para eventos- UWP apps supported for events only
Sem suporteNot supported -Outros idiomas e script- Other languages and script
-Serviços do Windows, Silverlight, Xbox ou aplicativos Windows Mobile- Windows Services, Silverlight, Xbox, or Windows Mobile apps

Observação

Se desejar depurar um processo que já esteja em execução, você poderá coletar somente eventos do IntelliTrace (sem informações de chamada).If you want to debug a process that is already running, you can collect IntelliTrace events only (no call information). Você pode anexar a um processo de 32 bits ou 64 bits somente no computador local.You can attach to a 32-bit or 64-bit process on the local machine only. Os eventos que ocorrem antes de você anexar ao processo não são coletados.Events that occur before you attach to the process are not collected.

Por que depurar com o IntelliTrace?Why debug with IntelliTrace?

A depuração tradicional ou dinâmica mostra apenas o estado atual do aplicativo, com dados limitados sobre eventos passados.Traditional or live debugging shows only your application's current state, with limited data about past events. Você precisa inferir esses eventos com base no estado atual do aplicativo ou precisa recriar esses eventos executando novamente seu aplicativo.You either have to infer these events based on the application's current state, or you have to recreate these events by rerunning your application.

O IntelliTrace expande esta experiência tradicional de depuração ao registrar eventos específicos e os dados nesses pontos de tempo.IntelliTrace expands this traditional debugging experience by recording specific events and data at these points in time. Isso permite que você veja o que aconteceu em seu aplicativo sem reiniciá-lo, especialmente se você passar para onde o bug está.This lets you see what happened in your application without restarting it, especially if you step past where the bug is. O IntelliTrace é ativado por padrão durante a depuração tradicional e coleta dados automaticamente e de forma invisível.IntelliTrace is turned on by default during traditional debugging and collects data automatically and invisibly. Isso permite que você alterne facilmente entre a depuração tradicional e a depuração do IntelliTrace para consultar as informações registradas.This lets you switch easily between traditional debugging and IntelliTrace debugging to see the recorded information. Confira os recursos do IntelliTrace e quais dados o IntelliTrace coleta?See IntelliTrace Features and What data does IntelliTrace collect?

O IntelliTrace também pode ajudá-lo a depurar erros que são difíceis de reproduzir ou que ocorrem na implantação.IntelliTrace can also help you debug errors that are hard to reproduce or that happen in deployment. Você pode coletar dados do IntelliTrace e salvá-los em um arquivo de log do IntelliTrace (arquivo .iTrace).You can collect IntelliTrace data and save it to an IntelliTrace log file (.iTrace file). 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.An .iTrace file contains details about exceptions, performance events, Web requests, test data, threads, modules, and other system information. Você pode abrir esse arquivo em Visual Studio Enterprise, selecionar um item e iniciar a depuração com o IntelliTrace.You can open this file in Visual Studio Enterprise, select an item, and start debugging with IntelliTrace. Isso permite que você vá para qualquer evento no arquivo e veja detalhes específicos sobre seu aplicativo nesse momento.This lets you go to any event in the file and see specific details about your application at that point in time.

Você pode salvar dados do IntelliTrace a partir destas fontes:You can save IntelliTrace data from these sources:

  • Uma sessão do IntelliTrace no Visual Studio 2015 Enterprise ou versões posteriores ou versões anteriores do Visual Studio Ultimate.An IntelliTrace session in Visual Studio 2015 Enterprise or later versions, or previous versions of Visual Studio Ultimate.

  • Aplicativos Web em ASP.NET hospedados no IIS ou aplicativos SharePoint 2010 e SharePoint 2013 em execução na implantação quando você usa o Agente de Monitoramento da Microsoft, sozinhos ou com o System Center 2012.ASP.NET web apps hosted on IIS, or SharePoint 2010 and SharePoint 2013 applications running in deployment when you use Microsoft Monitoring Agent, either alone or with System Center 2012. Consulte usar o coletor autônomo do IntelliTrace e monitoramento com Microsoft Monitoring Agent.See Use the IntelliTrace stand-alone collector and Monitoring with Microsoft Monitoring Agent.

Estes são alguns exemplos de como o IntelliTrace pode ajudar na depuração:Here are some examples of how IntelliTrace can help you with debugging:

  • Seu aplicativo danificou um arquivo de dados, mas você não sabe onde esse evento ocorreu.Your application has corrupted a data file, but you don't know where this event happened.

    Sem o IntelliTrace, você precisa examinar o código para localizar todos os acessos de arquivo possíveis, colocar pontos de interrupção nesses acessos e executar novamente o aplicativo para descobrir onde o problema ocorreu.Without IntelliTrace, you have to look through the code to find all possible file accesses, put breakpoints on those accesses, and rerun your application to find where the problem happened. Com o IntelliTrace, você pode ver todos os eventos de acesso a arquivos coletados e detalhes específicos sobre seu aplicativo quando cada evento ocorreu.With IntelliTrace, you can see all the collected file-access events and specific details about your application when each event happened.

  • Uma exceção ocorre.An exception happens.

    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.Without IntelliTrace, you get a message about an exception but you don't have much information about the events that led to the exception. 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 dos eventos que aconteceram durante essas chamadas.You can examine the call stack to see the chain of calls that led to the exception, but you can't see the sequence of events that happened during those calls. Com o IntelliTrace, você pode examinar os eventos que ocorreram antes da exceção.With IntelliTrace, you can examine the events that happened before the exception.

  • Um bug ou uma falha ocorre em um aplicativo implantado.A bug or crash happens in a deployed application.

    Para aplicativos baseados em Microsoft Azure, você pode configurar a coleta de dados do IntelliTrace antes de publicar o aplicativo.For Microsoft Azure-based apps, you can configure IntelliTrace data collection before you publish the application. Enquanto o aplicativo é executado, o IntelliTrace salva os dados em um arquivo. iTrace.While your application runs, IntelliTrace saves data to an .iTrace file. Consulte depurar um serviço de nuvem publicado com o IntelliTrace e o Visual Studio.See Debug a Published Cloud Service with IntelliTrace and Visual Studio.

    Para aplicativos Web em ASP.NET hospedados no IIS 7.0, 7.5 e 8.0 e aplicativos SharePoint 2010 ou SharePoint 2013, use o Agente de Monitoramento da Microsoft sozinho ou com o System Center 2012 para salvar dados do IntelliTrace em um arquivo .iTrace.For ASP.NET web apps hosted on IIS 7.0, 7.5, and 8.0, and SharePoint 2010 or SharePoint 2013 applications, use Microsoft Monitoring Agent, either alone or with System Center 2012, to save IntelliTrace data to an .iTrace file.

    Isso é útil quando você deseja diagnosticar problemas com os aplicativos durante a implantação.This is useful when you want to diagnose problems with apps in deployment. Consulte usar o coletor autônomo do IntelliTrace.See Use the IntelliTrace stand-alone collector.

Que dados são coletados pelo IntelliTrace?What data does IntelliTrace collect?

Coletar informações do eventoCollect event information

Por padrão, o IntelliTrace registra apenas eventos do IntelliTrace: eventos do depurador, exceções, .NET Framework eventos e outros eventos do sistema que podem ajudá-lo com a depuração.By default, IntelliTrace records only IntelliTrace events: debugger events, exceptions, .NET Framework events, and other system events that can help you with debugging. Você pode escolher os tipos de eventos do IntelliTrace que deseja coletar, exceto para eventos do depurador e exceções, os quais são coletados sempre.You can choose the kinds of IntelliTrace events that you want to collect, except for debugger events and exceptions, which are always collected. Consulte recursos do IntelliTrace.See IntelliTrace features.

  • Eventos do depuradorDebugger events

    O IntelliTrace sempre registra eventos que acontecem no depurador do Visual Studio.IntelliTrace always records events that happen in the Visual Studio debugger. Por exemplo, iniciar seu aplicativo é um evento do depurador.For example, starting your application is a debugger event. Outros eventos do depurador estão parando eventos, o que faz com que seu aplicativo interrompa a execução.Other debugger events are stopping events, which cause your application to break execution. Por exemplo, seu programa atinge um ponto de interrupção, atinge um ponto de controle ou executa um comando Etapa.For example, your program hits a breakpoint, hits a tracepoint, or executes a Step command.

    Por padrão, para ajudar com o desempenho, o IntelliTrace não registra cada valor possível para um evento do depurador.By default, to help with performance, IntelliTrace doesn't record every possible value for a debugger event. Em vez de isso, ele registra estes valores:Instead, it records these values:

    • Valores na janela Locais.Values in the Locals window. Mantenha a janela Locais aberta para consultar esses valores.Keep the Locals window open to see these values.

    • Valores na janela Autos somente se a janela Autos estiver abertaValues in the Autos window only if the Autos window is open

    • Valores em DataTips que surgem quando você move o ponteiro do mouse sobre uma variável na janela de origem para ver seu valor.Values in DataTips that appear when you move the mouse pointer on top of a variable in the source window to see its value. O IntelliTrace não coleta valores em DataTips fixados.IntelliTrace doesn't collect values in pinned DataTips.

      Quando os eventos do IntelliTrace e o modo de instantâneos estiverem habilitados, o IntelliTrace tirará um instantâneo do processo do aplicativo em cada evento de etapa e ponto de interrupção do depurador.When IntelliTrace Events and Snapshots mode is enabled, IntelliTrace will take a snapshot of the application's process at each debugger Breakpoint and Step event. Isso registrará valores nas janelas locais, automáticose inspecionar , independentemente de as janelas estarem abertas ou não.This will record values in the Locals, Autos, and Watch windows, regardless of whether the windows are open or not. Os valores em quaisquer dicas de dados fixados também serão coletados.Values in any pinned data tips will also be collected.

  • ExceçõesExceptions

    O IntelliTrace registra o tipo e a mensagem de exceção para estes tipos de exceções:IntelliTrace records the exception type and message for these kinds of exceptions:

    • Exceções tratadas onde a exceção é gerada e capturadaHandled exceptions where the exception is thrown and caught

    • Exceções sem tratamentoUnhandled exceptions

  • Eventos do .NET Framework.NET Framework events

    Por padrão, o IntelliTrace registra os eventos mais comuns do .NET Framework.By default, IntelliTrace records the most common .NET Framework events. Por exemplo, para um evento CheckBox.CheckedChanged, o IntelliTrace coleta o estado e o texto da caixa de seleção.For example, for a CheckBox.CheckedChanged event, IntelliTrace collects the checkbox state and text.

  • Eventos de aplicativos SharePoint 2010 e SharePoint 2013SharePoint 2010 and SharePoint 2013 application events

    Você pode registrar eventos de perfil de usuário e um subconjunto de eventos do ULS (Sistema de Registro Unificado) para os aplicativos SharePoint 2010 e 2013 que são executados fora do Visual Studio.You can record user profile events and a subset of Unified Logging System (ULS) events for SharePoint 2010 and 2013 applications running outside Visual Studio. Você pode salvar esses eventos em um arquivo de .iTrace.You can save these events to an .iTrace file. Requer o Visual Studio Enterprise 2015 ou versões posteriores, uma versão anterior do Visual Studio Ultimate ou Microsoft Monitoring Agent em execução no modo de rastreamento .Requires Visual Studio Enterprise 2015 or later versions, a previous version of Visual Studio Ultimate, or Microsoft Monitoring Agent running in Trace mode.

    Ao abrir o arquivo .iTrace, insira 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.When you open the .iTrace file, enter a SharePoint correlation ID to find its matching web request, view the recorded events, and start debugging from a specific event. Se o arquivo contiver exceções sem tratamento, você poderá escolher uma identificação de correlação para iniciar a depuração de uma exceção.If the file contains unhandled exceptions, you can choose a correlation ID to start debugging an exception.

    Consulte:See:

Capturar instantâneosCapture snapshots

Você pode configurar o IntelliTrace para capturar instantâneos em cada ponto de interrupção e evento de etapa do depurador.You can configure IntelliTrace to capture snapshots at every breakpoint and debugger step event. O IntelliTrace registra o estado completo do aplicativo em cada instantâneo, o que permite que você exiba variáveis complexas e avalie expressões.IntelliTrace records the full application state at each snapshot, which allows you to view complex variables and to evaluate expressions.

Observação

O coletor autônomo do IntelliTrace não dá suporte à captura de instantâneos.The IntelliTrace stand-alone collector does not support capturing snapshots.

Consulte inspecionar os Estados do aplicativo anterior usando o IntelliTrace.See Inspect previous app states using IntelliTrace.

Coletar informações de chamada de funçãoCollect function call information

Você pode configurar o IntelliTrace para coletar informações de chamada para funções.You can configure IntelliTrace to collect call information for functions. 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.This information lets you see a history of the call stack and lets you step backward and forward through calls in the code. Para cada chamada de função, o IntelliTrace registra estes dados:For each function call, IntelliTrace records this data:

  • Nome da funçãoFunction name
  • 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çãoValues of primitive data types passed as parameters at function entry points and returned at function exit points
  • Valores de propriedades automáticas quando elas são lidas ou alteradasValues of automatic properties when they are read or changed
  • Ponteiros para objetos filhos de primeiro nível, mas não seus valores diferentes caso eles fossem nulos ou nãoPointers to first-level child objects, but not their values other than if they were null or not

Observação

O IntelliTrace coleta somente os 256 primeiros objetos em matrizes e os 256 primeiros caracteres para cadeias de caracteres.IntelliTrace collects only the first 256 objects in arrays and the first 256 characters for strings.

Consulte inspecionar seu aplicativo com a depuração histórica.See Inspect your app with historical debugging.

Coletar informações do móduloCollect module information

Para controlar a quantidade de informações de chamadas que o IntelliTrace coleta, especifique somente os módulos que interessem a você.To control how much call information that IntelliTrace collects, specify only those modules that you care about. Isso pode ajudar a melhorar o desempenho do seu aplicativo durante a coleta.This can help improve your application's performance during collection. Consulte a seção controlar a quantidade de informações que o IntelliTrace coleta nos recursos do IntelliTrace.See the section Control how much information IntelliTrace Collects in IntelliTrace features.

O IntelliTrace reduzirá o meu aplicativo?Will IntelliTrace slow down my application?

Por padrão, o IntelliTrace coleta dados somente para eventos do IntelliTrace selecionados.By default, IntelliTrace collects data for selected IntelliTrace events only. Isso pode ou não retardar o seu aplicativo, dependendo da estrutura e da organização do seu código.This might or might not slow down your application, depending on the structure and organization of your code. Por exemplo, se o IntelliTrace registra um evento com frequência, isso pode tornar o aplicativo mais lento.For example, if IntelliTrace records an event often, this might slow down your application. Isso também pode fazer com que você considere refatorar seu aplicativo.It might also make you consider refactoring your application.

Coletar informações de chamada pode retardar significativamente seu aplicativo.Collecting call information might slow down your application significantly. Ela também pode aumentar o tamanho de qualquer arquivo de log do IntelliTrace (arquivos .iTrace) que você possa estar salvando em disco.It might also increase the size of any IntelliTrace log files (.iTrace files) that you're saving to disk. Para minimizar esses efeitos, colete informações de chamada somente para os módulos desejados.To minimize these effects, collect call information only for the modules you care about. Para alterar o tamanho máximo de seus arquivos de .iTrace, vá para Ferramentas, Opções, IntelliTrace, Avançado.To change the maximum size of your .iTrace files, go to Tools, Options, IntelliTrace, Advanced.

BlogsBlogs

Microsoft DevOpsMicrosoft DevOps

FórunsForums

Diagnóstico do Visual StudioVisual Studio Diagnostics