Introdução à instrumentação e rastreamento

O termo Instrumentação refere-se a uma capacidade de monitorar ou medir o nível de desempenho do produto e diagnosticar erros.Em programação, isso significa a capacidade de um aplicativo para incorporar:

  • Código de rastreamento - Recebendo mensagens informativas sobre a execução de um aplicativo em time de execução.

  • Depuração - Rastrear e corrigir erros de programação em um aplicativo em desenvolvimento.Para obter mais informações, consulte Depuração.

  • Contadores de desempenho - Componentes que permitem controlar o desempenho do seu aplicativo.Para obter mais informações, consulte Introdução ao monitoramento de limites de desempenho.

  • Logs de eventos - Componentes que permitem que você recebe e controlar os principais eventos na execução do seu aplicativo.Para mais informações, consulte a classe EventLog.

The Rastreamento and Depurar classes fornecem os meios para monitor e examinar o desempenho do aplicativo desenvolvimento durante ou após a implantação.Por exemplo, você pode usar o Rastreamento classe para controlar tipos específicos de ações em um aplicativo implantado à medida que eles ocorrem (por exemplo, criação de novas conexões de banco de dados) e, portanto, podem monitor eficiência do aplicativo.

Código de rastreamento e depuração

Durante o desenvolvimento, você pode usar os métodos de saída do Depurar classe para exibir mensagens na Janela de Saída do ambiente de desenvolvimento integrado Visual Studio (IDE).Por exemplo:

Trace.WriteLine("Hello World!")
Debug.WriteLine("Hello World!")
System.Diagnostics.Trace.WriteLine("Hello World!");
System.Diagnostics.Debug.WriteLine("Hello World!");
System.Diagnostics.Trace.WriteLine("Hello World!");
System.Diagnostics.Debug.WriteLine("Hello World!");

Cada um desses exemplos exibirá "Hello World!" na janela Output quando o aplicativo é executado no depurador.

Isso lhe permite depurar seus aplicativos e otimizar seu desempenho com base em seu comportamento no seu ambiente de teste.Você pode depurar seu aplicativo em sua compilação de depuração com o Depurar atributo condicional ativado para que você possa receber toda a saída de depuração.Quando seu aplicativo está pronto para lançamento, você pode compilar a versão de compilação sem ligar o Depurar condicional atributo para que o compilador não incluirá a depuração de código no final executável.Para obter mais informações, consulte Como: Compilar condicionalmente com rastreamento e depurar.Para obter mais informações sobre as configurações de compilação diferente para seu aplicativo, consulte Criando no Visual Studio.

Você também pode rastrear a execução de código em um aplicativo instalado, usando métodos do Rastreamento classe.Colocando Opções de rastreamento no seu código, você pode controle se o rastreamento ocorrerá e abrangentes como é. Isso permite que você monitor o status de seu aplicativo em um ambiente de produção.Isso é especialmente importante em um aplicativo de negócios que usa vários componentes executados em vários computadores.Você pode controlar como os switches são usados após a implantação através do arquivo de configuração.Para obter mais informações, consulte Como: Configurar opções de rastreamento.

Quando você está desenvolvendo um aplicativo para o qual você pretende usar o rastreamento, você geralmente incluir rastreamento e depuração mensagens no código do aplicativo.Quando estiver pronto para implantar o aplicativo, você pode compilar a versão de compilação sem ligar o Depurar atributo condicional.No entanto, você pode ativar o Rastreamento condicional de atributo para que o compilador inclui o código de rastreamento no executável.Para obter mais informações, consulte Como: Compilar condicionalmente com rastreamento e depurar.

Fases de rastreamento de código

Há três fases de rastreamento de código:

  1. Instrumentação — adicionar código de rastreamento a seu aplicativo.

  2. Rastreando — o código de rastreamento grava as informações de destino especificado.

  3. Análise — avalie as informações de rastreamento para identificar e compreender os problemas no aplicativo.

Durante o desenvolvimento, todos os depurar e rastreamento saída métodos escrever informações na janela de saída no Visual Studio por padrão.Em um aplicativo implantado, os métodos de gravar informações de rastreamento para os destinos que você especificar.Para obter mais informações sobre como especificar um destino de saída de rastreamento ou depuração, consulte Ouvintes de rastreamento.

Instrumentação de rastreamento e aplicativos distribuídos

Quando você cria um aplicativo distribuído, talvez seja difícil teste o aplicativo na maneira em que ele será usado.Poucas equipes de desenvolvimento tem a capacidade de teste todas as combinações possíveis de sistemas operacionais ou navegadores da Web (incluindo todas as opções de linguagem localizado), ou para simular o alto número de usuários que acessarão o aplicativo ao mesmo time.Sob essas circunstâncias, você não pode testar como um aplicativo distribuído responderá a grandes volumes, configurações diferentes e comportamentos exclusivos ao usuário participante.Além disso, muitas partes de um aplicativo distribuído não tem nenhuma interface de usuário com o qual você pode interagir diretamente ou exibir a atividade dessas partes.

No entanto, você pode compensar isso, permitindo que aplicativos distribuídos descrever a determinados eventos de interesse para os administradores do sistema, especialmente as coisas que dar errado, por Instrumentação o aplicativo — ou seja, colocando instruções de rastreamento em locais estratégicos no seu código.E, em seguida, se algo inesperado ocorre em time de execução (por exemplo, excessivamente lento time de resposta), você pode determinar a causa mais provável.

Com instruções de rastreamento, você pode evitar a difícil tarefa de examinar o código-fonte original, modificá-lo, recompilar e tentando produzir o erro de time de execução dentro do ambiente de depuração.Lembre-se de que você pode instrumentar um aplicativo não apenas para exibir erros, mas também para monitorar o desempenho.

Posicionamento estratégico de instruções de rastreamento

Você deve ter um cuidado especial ao colocar suas instruções de rastreamento para uso durante o time de execução.Você deve considerar quais informações de rastreamento são provável que ser necessários em um aplicativo implantado, para que todos os cenários de rastreamento provavelmente são abordados adequadamente.Como os aplicativos que usam o rastreamento variar amplamente, entretanto, há não há diretrizes Geral para posicionamento estratégico de rastreamento.Para obter mais informações sobre a inserção de instruções de rastreamento, consulte Como: Adicionar instruções de rastreamento ao código do aplicativo.

Saída do rastreamento

Saída do rastreamento é coletada por objetos chamados ouvintes.Um ouvinte é um objeto que recebe saída de rastreamento e grava em um dispositivo de saída (geralmente um arquivo de texto, log ou janela).Quando um ouvinte de rastreamento é criado, ele normalmente é adicionado à Trace.Listeners coleção, permitindo que o ouvinte receber toda a saída de rastreamento.

Informações de rastreamento são sempre gravadas pelo menos para o padrão de Rastreamento destino de saída, a DefaultTraceListener.Se por algum motivo você tiver excluído o DefaultTraceListener sem adicionar qualquer outros ouvintes à Ouvintes coleção, você não receber quaisquer mensagens de rastreamento.Para obter mais informações, consulte Ouvintes de rastreamento.

Os seis métodos membros depurar e Trace gravar informações de rastreamento estão na tabela a seguir.

Método

Saída

Declarar

O texto especificado; ou, se nenhum for especificado, a telefonar da pilha.A saída será gravada somente se a condição especificada sistema autônomo um argumento no Declarar demonstrativo é False.

Falha

O texto especificado; ou, se nenhum for especificado, a telefonar da pilha.

Write

O texto especificado.

WriteIf

O texto especificado, se a condição especificada sistema autônomo um argumento no WriteIf demonstrativo será satisfeita.

WriteLine

O texto especificado e um retorno de carro.

WriteLineIf

O texto especificado e um retorno de carro, se a condição especificada sistema autônomo um argumento no WriteLineIf demonstrativo será satisfeita.

Todos os ouvintes no Ouvintes coleção recebem as mensagens descritas na tabela acima, mas as ações realizadas podem variar dependendo do que tipo de ouvinte recebe a mensagem.Por exemplo, a DefaultTraceListener exibe uma caixa de diálogo de asserção quando ele recebe um Falha ou de falhaDeclarar notificação, mas um TextWriterTraceListener simplesmente grava a saída em seu fluxo.

Você pode produzir resultados personalizados ao implementar seu próprio ouvinte.Um ouvinte de rastreamento personalizada pode, por exemplo, exibir as mensagens para uma caixa de mensagem ou se conectar a um banco de dados para adicionar mensagens a uma tabela.Todos os ouvintes personalizados devem dar suporte a seis métodos mencionados acima.Para obter mais informações sobre criar ouvintes definidos pelo desenvolvedor, consulte TraceListener na referência do .NET estrutura.

Observação sobre o Visual Basic:

Em Visual Basic 2005, o depurar.gravar, depurar.WriteIf, depurar.WriteLine, and depurar.WriteLineIf métodos substituíram a depurar.Print método que estava disponível nas versões anteriores do Visual Basic.

The gravar and WriteLine métodos sempre escrever o texto que você especificar.Declarar, WriteIf, and WriteLineIf exigem um booliano argumento que controla ou não gravam o texto especificado; gravam o texto especificado somente se a expressão é True (for WriteIf and WriteLineIf), or False (para Declarar).The Falha método sempre grava o texto especificado.Para obter mais informações, consulte Como: Adicionar instruções de rastreamento ao código do aplicativo e referência do .NET estrutura.

Questões de segurança

Se você não desabilitar o rastreamento e depuração antes de implantar um aplicativo ASP.NET, seu aplicativo pode revelar informações sobre si que podem ser exploradas por um programa mal-intencionado.Para obter mais informações, consulte Como: Compilar condicionalmente com rastreamento e depurar, Criando no Visual Studio e Como: Configurar opções de rastreamento.Depuração também é configurável através do Serviços de Informações da Internet (Serviços de Informações da Internet).

Consulte também

Tarefas

Como: Adicionar instruções de rastreamento ao código do aplicativo

Como: Configurar opções de rastreamento

Conceitos

Opções de rastreamento

Ouvintes de rastreamento

Outros recursos

Rastreamento e intrumentando aplicações