Partilhar via


Sessão de rastreamento do registrador global

Uma sessão de rastreamento do Global Logger registra eventos que ocorrem durante o processo de inicialização antes que o sistema esteja totalmente operacional, como eventos gerados por drivers de dispositivo. É uma sessão de rastreamento reservada que é incorporada no Windows.

As sessões de rastreamento do Global Logger sempre gravam mensagens em um log de rastreamento. O Global Logger não suporta sessões de rastreamento em tempo real ou sessões de rastreamento em buffer.

Como o Global Logger deve estar disponível no início do processo de inicialização do sistema operacional, ele é iniciado e configurado usando entradas do Registro (na subchave HKLM\SYSTEM\CurrentControlSet\Control\WMI\GlobalLogger ), em vez de chamadas de função. Depois de começar, o Global Logger se comporta como uma sessão regular de rastreamento de eventos.

A sessão de rastreamento do Global Logger usa um nome de sessão reservado, "GlobalLogger". O GUID de controle é representado pela constante, GlobalLoggerGuid. Crie uma sessão de rastreamento Global Logger e, em seguida, reinicie o computador para iniciar essa sessão de rastreamento. Apenas uma sessão de rastreamento do Global Logger pode ser executada no computador de cada vez.

Para criar uma sessão de rastreamento do Global Logger, use Tracelog. Ele cria automaticamente a subchave do Registro e entradas que armazenam opções de sessão de rastreamento. A sessão de rastreamento do Global Logger é iniciada quando você reinicia o computador. Para obter mais informações, consulte Sintaxe de comando Tracelog.

Para formatar as mensagens de rastreio de uma sessão de rastreio do Global Logger, utilize o Tracefmt com o system.tmf, um ficheiro de formato de mensagens de rastreio incluído no WDK.

Como a sessão Global Logger é acionada por entradas do Registro, ela é executada sempre que as entradas aparecem no Registro. Para impedir que a sessão do Global Logger seja iniciada sempre que o sistema for iniciado, defina o valor da entrada Start como 0 ou exclua todas as entradas do Registro.

Você pode converter uma sessão de rastreamento do Global Logger em uma sessão de rastreamento do NT Kernel Logger, rastreando assim o kernel durante o processo de inicialização. Para obter informações, consulte Boot-time Global Logger Session

Os provedores de rastreamento, como drivers de modo kernel e aplicativos de modo de usuário, podem fazer logon na sessão de rastreamento do Global Logger. Isso permite que você rastreie um driver ou outro provedor de rastreamento durante a inicialização do sistema. Para obter informações, consulte Registo na sessão do gravador global

Limitações da sessão Global Logger Trace

A sessão de rastreamento do Global Logger é muito útil, mas é importante estar ciente de suas limitações:

Você pode executar apenas uma sessão do Global Logger de cada vez.

A sessão Global Logger não envia notificação de habilitação para provedores.

As entradas do Registro Global Logger permanecem no Registro e são efetivas até que você as redefina ou exclua manualmente ou use o comando tracelog -remove . Até que você os resete, a sessão do Global Logger é iniciada toda vez que você inicia o sistema.

O registador ACPI do Windows está permanentemente ativado para a sessão de rastreio do Global Logger. As mensagens de rastreamento desse registrador aparecem no log de rastreamento.

Se uma sessão de rastreamento padrão for iniciada enquanto um driver estiver registrando na sessão do Global Logger, o driver alternará e iniciará o registro na sessão de rastreamento padrão.

Entradas do Registo Global Logger

A tabela a seguir mostra as entradas do Registro que configuram a sessão do Global Logger. Essas entradas estão na subchave HKLM\SYSTEM\CurrentControlSet\Control\WMI\GlobalLogger . Apenas a entrada Start é obrigatória.

Além das entradas do Registo nesta tabela, pode também adicionar uma subchave ControlGUID sob a subchave GlobalLogger para representar um fornecedor de rastreio, como um driver, que regista na sessão de rastreamento do Global Logger. Para obter informações, consulte Registo de Eventos na Sessão do Registrador Global.

Entrada Tipo de dados Descrição

Início

REG_DWORD

Quando definido como 1 (ativado), a sessão do Global Logger é iniciada na próxima vez que o sistema for iniciado.

0 = desligado, 1=ligado

Tamanho do Buffer

REG_DWORD

Especifica o tamanho de cada buffer (em KB). O valor padrão é 0x40 (64 KB).

Tipo de relógio

REG_DWORD

Especifica o timer usado para marcações temporais de mensagens de rastreamento.

A partir do Windows Vista, o valor padrão é 1. Em sistemas operacionais anteriores ao Windows Vista, o valor padrão é 2.

1 = Valor do contador de desempenho (alta resolução)

2 = Temporizador do sistema

3 = Relógio de ciclo da CPU

EnableKernelFlags

REG_BINARY

Converte a sessão Global Logger em uma sessão de rastreamento do NT Kernel Logger e especifica os eventos incluídos no rastreamento do kernel.

Para obter informações, consulte Boot-time Global Logger Session.

Contador de arquivos

REG_DWORD

Armazena o número de arquivos de log de rastreamento de eventos gerados por sessões do Global Logger.

O sistema incrementa esse valor até atingir o valor de FileMax. Em seguida, ele redefine o valor para 0.

Este contador impede que o sistema substitua um ficheiro de log de rastreamento do Global Logger.

FileMax

REG_DWORD

Especifica o número máximo de arquivos de log de rastreamento de eventos permitido no sistema.

Quando o número de logs de rastreamento atinge o máximo especificado, o sistema começa a sobrescrever os logs, começando com o mais antigo.

O valor padrão é 0, o que significa que não há máximo.

Nome do arquivo

REG_SZ

Caminho (opcional) e nome do arquivo de log de rastreamento de eventos. O padrão é %SystemRoot%\System32\LogFiles\WMI\trace.log.

FlushTimer

REG_DWORD

Especifica a frequência (em segundos) com que os buffers de rastreamento são esvaziados à força. Essa liberação forçada é adicional à liberação automática que ocorre sempre que um buffer está cheio e quando a sessão de rastreamento é interrompida.

O valor padrão é 0. Por padrão, os buffers são liberados somente quando estão cheios.

O tempo mínimo de descarga é de 1 segundo.

ModoDeArquivoDeLog

REG_DWORD

Especifica as opções de sessão de log.

Suportado apenas no Windows Vista e versões posteriores do Windows.

BuffersMáximos

REG_DWORD

Especifica o número máximo de buffers que podem ser alocados para a sessão. O valor padrão é 0x19 (25).

MaximumFileSize

REG_DWORD

Especifica o tamanho máximo do arquivo de log de rastreamento de eventos. Por padrão, não há tamanho máximo de arquivo.

MinimumBuffers

REG_DWORD

Especifica o número de buffers alocados quando a sessão é iniciada. O valor padrão é 0x3.

Situação

REG_DWORD

Armazena o código de retorno da tentativa de iniciar uma sessão de rastreamento do Global Logger.

Se a sessão falhou ao iniciar, o valor desta entrada é um código de erro Win32. Se a sessão foi iniciada, o valor desta entrada é ERROR_SUCCESS.

Essas entradas do Registro que você cria permanecem no Registro e são efetivas até que você as exclua ou altere seus valores. Portanto, depois que a sessão do Global Logger for executada, use o comando tracelog -remove GlobalLogger para definir o valor da entrada Start como 0 e excluir as outras entradas do Registro Global Logger. Caso contrário, a sessão do Global Logger será executada sempre que você reiniciar o computador e o arquivo de log resultante poderá crescer muito.

Constantes do modo de registro

A tabela a seguir exibe os valores válidos para a entrada do Registro LogFileMode na subchave HKLM\System\CurrentControlSet\Control\WMI\GlobalLogger . Essa entrada é usada para definir opções para uma sessão de rastreamento do Global Logger, incluindo aquelas para sessões de rastreamento em tempo real, sessões de rastreamento privado, log circular e buffering (sem log). Esta entrada de registo é suportada apenas no Windows Vista e versões posteriores do Windows.

Essa entrada do Registro corresponde ao membro LogFileMode da estrutura EVENT_TRACE_PROPERTIES. Seus valores correspondem às constantes do modo de registro. A estrutura EVENT_TRACE_PROPERTIES e as constantes do modo de registo são descritas na documentação do SDK do Microsoft Windows.

Esta tabela é exibida aqui para mostrar os valores hexadecimais das constantes. Use esses valores ou uma soma desses valores para representar a constante na entrada do Registro LogFileMode .

Valor Constante Descrição

0x0

EVENT_TRACE_FILE_MODE_NONE

Nenhum arquivo de log de rastreamento de eventos é criado.

0x1

EVENT_TRACE_FILE_MODE_SEQUENCIAL

Os arquivos de log de rastreamento de eventos são sequenciais.

0x2

Modo de ficheiro circular do EVENT_TRACE

Os arquivos de log de rastreamento de eventos são circulares.

0x4

EVENT_TRACE_FILE_MODE_APPEND

Anexe mensagens de rastreamento a um arquivo de log existente. Este modo é válido apenas com ficheiros sequenciais.

0x8

EVENT_TRACE_FILE_MODE_NEWFILE

Crie um novo arquivo de log de rastreamento de eventos sempre que o arquivo existente atingir o valor da entrada MaximumFileSize (consulte a tabela acima).

0x20

EVENT_TRACE_FILE_MODE_PREALLOCATE

Reserva espaço para o arquivo de log de rastreamento de eventos.

Válido apenas com EVENT_TRACE_FILE_MODE_SEQUENTIAL ou EVENT_TRACE_FILE_MODE_CIRCULAR, não sendo válido com EVENT_TRACE_FILE_MODE_NEWFILE.

0x40

EVENT_TRACE_NONSTOPPABLE_MODE

Uma chamada para StopTrace não interrompe a sessão de rastreamento.

Esse recurso impede que os usuários interrompam as sessões de rastreamento que o sistema requer para diagnóstico e ajuste.

0x100

Modo de Rastreio de Eventos em Tempo Real

Especifica uma sessão de rastreamento em tempo real.

0x200

MODO_DE_ATRASO_DE_ABERTURA_DE_ARQUIVO_DE_RASTREAMENTO_DE_EVENTOS

Apenas para uso interno.

0x400

EVENT_TRACE_BUFFERING_MODE

Os eventos são retidos nos buffers. Eles nunca são escritos num arquivo de log ou enviados a um consumidor de rastreamento.

0x800

EVENT_TRACE_PRIVATE_LOGGER_MODE

Especifica uma sessão de rastreamento particular. Esse sinalizador não é válido para uma sessão de rastreamento do Global Logger.

0x1000

EVENT_TRACE_ADD_HEADER_MODE

Apenas para uso interno.

0x2000

EVENT_TRACE_USE_KBYTES_FOR_SIZE

Interprete o valor de MaximumFileSize em KB, em vez de MB.

0x4000

EVENT_TRACE_USE_GLOBAL_SEQUENCE

Gera números de sequência global para mensagens de rastreamento. Esses números são exclusivos para todas as sessões de rastreamento no computador.

Por padrão, as mensagens de rastreamento não têm números de sequência.

0x8000

EVENT_TRACE_USE_LOCAL_SEQUENCE

Gera números de sequência local para mensagens de rastreamento. Esses números são exclusivos dentro da sessão de rastreamento.

Por padrão, as mensagens de rastreamento não têm números de sequência.

0x10000

EVENT_TRACE_RELOG_MODE

Apenas para uso interno.

0x80000

EVENT_TRACE_KD_FILTER_MODE

Redireciona as mensagens de rastreamento para o depurador do kernel e define o tamanho do buffer de rastreamento para 3 KB, o tamanho máximo do buffer para o depurador.

0x1000000

EVENT_TRACE_MODE_RESERVED

Não é válido para uma sessão de rastreamento do Global Logger.

0x01000000

EVENT_TRACE_USE_PAGED_MEMORY

Aloque os buffers das sessões de rastreamento a partir da memória paginável. Por padrão, os buffers são alocados a partir de memória não paginável.