Compartilhar via


Recursos do IntelliTrace (C#, Visual Basic, C++)

Você pode usar o IntelliTrace para registrar eventos e chamadas de método ao aplicativo, o que permite examinar seu estado (pilha de chamadas e valores de variável local) em diferentes pontos na execução. Basta iniciar a depuração como de costume – o IntelliTrace está ativado por padrão e você pode ver as informações que o IntelliTrace está gravando na nova janela Ferramentas de Diagnóstico na guia Eventos . Selecione um evento e clique em Ativar Depuração Histórica para ver a pilha de chamadas e os locais registrados para este evento.

Para obter uma descrição passo a passo, consulte Passo a passo: usando o IntelliTrace.

O IntelliTrace está disponível no Visual Studio Enterprise Edition, mas não nas edições Do Visual Studio Professional ou Community.

Para confirmar que o IntelliTrace está ativado, abra a página de opções Ferramentas > Opções > IntelliTrace. Habilitar o IntelliTrace deve ser verificado por padrão.

Observação

O escopo de todas as configurações na página de opções do IntelliTrace é o Visual Studio como um todo, não projetos ou soluções individuais. Uma alteração nessas configurações se aplica a todas as instâncias do Visual Studio, a todas as sessões de depuração e a todos os projetos ou soluções.

Escolha os eventos que o IntelliTrace registra (C#, Visual Basic)

Você pode ativar ou desativar a gravação para eventos específicos do IntelliTrace.

Se você estiver depurando, interrompa a depuração. Vá para Ferramentas > Opções > IntelliTrace > Eventos IntelliTrace. Escolha os eventos que você deseja que o IntelliTrace registre.

Coletar instantâneos (C#, Visual Basic, C++)

Isso não está habilitado por padrão, mas o IntelliTrace pode capturar instantâneos do seu aplicativo em cada ponto de interrupção e evento de etapa do depurador, e você pode exibir esses instantâneos em uma sessão de depuração no histórico. Um instantâneo fornece uma visão do estado completo do aplicativo. Para habilitar a captura de instantâneos, acesse As Opções > de Ferramentas > IntelliTrace > Geral e selecione instantâneos do IntelliTrace (gerenciados e nativos). Para obter mais informações, consulte Inspecionar os estados de aplicativo anteriores usando o IntelliTrace.

Os instantâneos estão disponíveis no Visual Studio Enterprise 2017, versão 15.5 ou superior, e exigem a Atualização de Aniversário do Windows 10 ou posterior. Para aplicativos .NET Core e ASP.NET Core, o Visual Studio Enterprise 2017 versão 15.7 é necessário. Para aplicativos nativos direcionados ao Windows, o Visual Studio Enterprise 2017 versão 15.9 Versão Prévia 2 é necessário.

Coletar eventos do IntelliTrace e informações de chamada (C#, Visual Basic)

Isso não está habilitado por padrão, mas o IntelliTrace pode registrar chamadas de método junto com eventos. Para habilitar a coleta de chamadas de método, vá para As Opções > de Ferramentas > IntelliTrace > Geral e selecione eventos IntelliTrace e informações de chamada (somente gerenciadas).

No momento, as informações de chamada não estão disponíveis para aplicativos .NET Core e ASP.NET Core.

Isso permite que você veja o histórico da pilha de chamadas e retroceda e avance através das chamadas no seu código. O IntelliTrace registra dados como nomes de método, pontos de entrada e saída do método e determinados valores de parâmetro e valores de retorno.

Dica

Essa opção não está habilitada por padrão porque adiciona uma sobrecarga considerável. O IntelliTrace não só precisa interceptar todas as chamadas de método que seu aplicativo faz, mas também precisa lidar com um conjunto muito maior de dados quando se trata de mostrá-lo na tela ou persisti-lo em disco.

Você pode reduzir a sobrecarga de desempenho restringindo a lista de eventos que o IntelliTrace registra e mantendo o número de módulos que você está coletando ao mínimo. Para obter mais informações, consulte Controlar a quantidade de informações de chamada que o IntelliTrace registra.

Usar a barra de navegação

Você pode usar a sarjeta de navegação que aparece à esquerda da janela de código. Se você não vir a sarjeta de navegação, vá para Ferramentas > Opções > IntelliTrace > Avançado e selecione Exibir a sarjeta de navegação enquanto estiver no modo de depuração.

A barra de navegação permite que você avance e retroceda por meio de chamadas de método e eventos durante a depuração histórica. Para obter mais informações sobre depuração histórica, consulte Depuração Histórica. Ele tem vários comandos:

Command Description
Definir o contexto do depurador aqui Defina o contexto de depuração para a janela de tempo da chamada em que ocorre.

Esse ícone aparece apenas na pilha de chamadas atual.
Retornar ao Site de Chamadas Mova o ponteiro e o contexto de depuração de volta para o ponto onde a função atual foi chamada.

Se você estiver no modo de Depuração Dinâmica, esse comando ativa a Depuração Histórica. Se você navegar de volta para o ponto de interrupção original, a Depuração Histórica será desativada e a Depuração Dinâmica será ativada.
Ir para a invocação anterior ou o evento do IntelliTrace Mova o ponteiro e o contexto de depuração de volta para a chamada ou evento anterior.

Se você estiver no modo de Depuração Dinâmica, esse comando ativa a Depuração Histórica.
Entrar Entre na função selecionada no momento.

Esse comando só estará disponível quando você estiver no modo de Depuração Histórica.
Ir para a próxima chamada ou evento IntelliTrace Mova o ponteiro e o contexto de depuração para a próxima chamada ou evento para o qual existam dados do IntelliTrace.

Esse comando só estará disponível quando você estiver no modo de Depuração Histórica.
Ir para o Modo Dinâmico Retorne ao modo de depuração ao vivo.

Pesquisar uma linha ou método no IntelliTrace

Você só pode pesquisar métodos quando a informação de chamada do método estiver habilitada. Você pode pesquisar o histórico do IntelliTrace em busca de uma linha ou método específico. Enquanto a execução do depurador é interrompida, clique com o botão direito do mouse no corpo da função para ver o menu de contexto e clique em Pesquisar Esta Linha no IntelliTrace ou Pesquisar Este Método no IntelliTrace.

Controlar a quantidade de informações de chamada que o IntelliTrace registra

Por padrão, o IntelliTrace registra informações para todos os módulos usados pela solução. Você pode definir o IntelliTrace para registrar informações de chamada somente para os módulos que lhe interessam. Nos Ferramentas > Opções > Módulos do IntelliTrace >, você pode especificar os módulos a serem incluídos ou excluídos do IntelliTrace. O IntelliTrace coletará apenas os eventos originados dos módulos especificados e as chamadas de método que ocorreram nos módulos nos quais você está interessado.

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

Tente manter o número de módulos no mínimo. Você obtém melhor desempenho porque há menos dados a serem coletados. Você também percebe uma redução de ruído na interface do usuário devido à menor quantidade de dados a serem processados.

Salvar dados do IntelliTrace no arquivo (C#, Visual Basic, C++)

Você pode salvar os dados que o IntelliTrace coletou indo para Depurar > IntelliTrace > Salvar Sessão IntelliTrace enquanto você estiver depurando e o aplicativo estiver em um estado de interrupção. O item de menu está desabilitado e você não poderá salvar os dados coletados pelo IntelliTrace se o aplicativo ainda estiver em execução ou se você tiver parado de depurar.

Você pode configurar o IntelliTrace para salvar, automaticamente, em um arquivo acessando Ferramentas > Opções > IntelliTrace > Avançado e selecionando Armazenar gravações do IntelliTrace neste diretório. Você também pode configurar um tamanho fixo para o arquivo gerado, o que faz com que o IntelliTrace substitua dados mais antigos quando ele ficar sem espaço. O Visual Studio cria dois arquivos para cada sessão do IntelliTrace quando eles são salvos automaticamente e o processo de hospedagem do Visual Studio (vshost.exe) é ativado.

Dica

Para economizar espaço em disco, desative o salvamento de arquivos automaticamente quando você não precisar mais deles. Todos os arquivos existentes não serão excluídos. Você sempre pode salvar em arquivo sob demanda a partir do menu de contexto.

Ao salvar dados do IntelliTrace no arquivo, você obtém um arquivo .itrace para cada processo do qual o IntelliTrace coletou. Em seguida, você pode abrir o arquivo .itrace no Visual Studio acessando Arquivo > Aberto > e selecionando o arquivo .itrace na caixa de diálogo Abrir Arquivo. Para obter mais informações, consulte Como usar dados do IntelliTrace salvos.

Blogs

IntelliTrace no Visual Studio Enterprise 2015

O IntelliTrace no Visual Studio Enterprise 2015 agora dá suporte à anexação!

Coletar dados de um serviço windows usando o Coletor Autônomo do IntelliTrace

Editando o plano de coleção do IntelliTrace

TraceSource personalizado e depuração usando IntelliTrace

Fóruns

Depurador do Visual Studio