Partilhar via


Sessão de rastreamento

Uma sessão de rastreamento é um período durante o qual um provedor de rastreamento está gerando mensagens de rastreamento. O sistema mantém um conjunto de buffers para a sessão de rastreamento para armazenar mensagens de rastreamento até que elas sejam entregues ("liberadas") a um log de rastreamento ou a um consumidor de rastreamento.

Há três tipos básicos de sessões de rastreamento: sessões de log de rastreamento, sessões de rastreamento em tempo real e sessões de rastreamento em buffer. Uma única sessão de rastreamento pode ser uma sessão de log de rastreamento, uma sessão de rastreamento em tempo real ou ambas. As sessões de rastreamento em buffer são exclusivas.

Além disso, há sessões de rastreamento privadas e sessões de rastreamento reservadas, como a sessão de rastreamento do NT Kernel Logger e a sessão de rastreamento do Global Logger, que podem ser executadas como sessões de log ou sessões em tempo real. Você pode usar as ferramentas padrão para controlar essas sessões e exibir as mensagens de rastreamento resultantes.

Rastrear sessões de log

Em uma sessão de log de rastreio, as mensagens de rastreio são gravadas a partir dos buffers de rastreio para um ficheiro de log em formato binário. Este é o tipo padrão e predefinido de sessão de rastreamento.

Real-Time Sessões de Rastreamento

Em uma sessão de rastreamento em tempo real, as mensagens de rastreamento são entregues diretamente a um consumidor de rastreamento, como TraceView ou Tracefmt, em vez de ou, além de, serem enviadas para um arquivo de log.

Sessões de rastreamento em buffer

Em uma sessão de rastreamento em buffer, as mensagens de rastreamento permanecem no buffer de rastreamento; eles não são gravados em um log de rastreamento ou entregues a um consumidor de rastreamento. O buffer é mantido como um arquivo circular. Quando estiver cheio, as mensagens de rastreamento mais recentes substituem as mensagens de rastreamento mais antigas no buffer.

As sessões de rastreamento em buffer são suportadas apenas no Windows Vista e em versões posteriores do Windows.

Embora o rastreamento de software, em geral, cause muito pouca sobrecarga, as sessões de rastreamento em buffer têm a menor sobrecarga de todos os tipos de sessão de rastreamento. Você pode rastrear por longos períodos de tempo e, em seguida, se algo interessante ocorrer, você pode usar um depurador para examinar o conteúdo do buffer atual ou salvar o conteúdo do buffer atual em um log de rastreamento.

Para ver as mensagens de rastreio num buffer de rastreio, use a extensão especializada do depurador !wmitrace. Para obter informações sobre essa extensão, consulte Ferramentas de depuração para Windows.

Para descarregar o conteúdo do buffer para um log de rastreamento, use o parâmetro -f do comando tracelog -flush.

Para iniciar uma sessão de rastreamento em buffer, use o parâmetro -buffering do comando tracelog -start . Para obter mais informações, consulte Sintaxe de comando Tracelog.

Sessões de rastreamento privado

Uma sessão de rastreamento privada é uma sessão de rastreamento que é executada no modo de usuário como parte do processo de modo de usuário que ele rastreia. (As sessões de rastreamento padrão são executadas no kernel.) As sessões de rastreamento privado também são conhecidas como sessões de rastreamento no modo de usuário ou sessões de rastreamento de processo.

Você pode executar mais de uma sessão de rastreamento particular de cada vez, mas pode executar apenas uma sessão de rastreamento particular em cada processo.

Não é possível executar o rastreamento em tempo real de uma sessão de rastreamento particular. As mensagens de rastreamento devem ser gravadas em um log.

Os buffers usados em sessões de rastreamento privado são sempre pagináveis. Não é possível especificar memória paginada ou não paginada para esses buffers.

Não é possível enviar as mensagens de rastreamento de uma sessão de rastreamento particular para o depurador. A Extensão de Rastreamento WMI (!wmitrace) não suporta sessões de rastreamento privadas.

Para obter mais informações sobre sessões de rastreamento de eventos particulares, consulte a documentação do SDK do Microsoft Windows.