Ferramentas para Rastreamento de Software

O WDK (Microsoft Windows Driver Kit) inclui um conjunto de aplicativos e ferramentas de linha de comando para rastreamento de software. Essas ferramentas foram projetadas para dar suporte ao ETW (Rastreamento de Eventos para Windows) e complementar as ferramentas de rastreamento incluídas no Windows.

Quais são as ferramentas de rastreamento?

As ferramentas incluem controladores de rastreamento que configuram, iniciam, atualizam e param sessões de rastreamento e rastreiam consumidores que recebem mensagens de rastreamento geradas durante as sessões e convertem os dados binários em formato legível para arquivos ou exibição.

As ferramentas dão suporte a uma variedade de provedores de rastreamento, incluindo aplicativos de modo de usuário e drivers de modo kernel, que são instrumentados para rastreamento de software usando o rastreamento de software WPP ou o ETW (Rastreamento de Eventos para Windows) . Para obter uma comparação das duas abordagens para instrumentar seu código, consulte Quando usar o rastreamento de software WPP e o ETW (Rastreamento de Eventos para Windows).

As ferramentas também podem acessar sessões de rastreamento reservadas incorporadas ao Windows, como a sessão / de rastreamento global do Agente de Rastreamentodo NT Kernel Logger.

Algumas dessas ferramentas estão localizadas no subdiretório tools\<Platform> do WDK (Windows Driver Kit), em < que Platform> é x86 ou x64. Outras ferramentas estão incluídas no Windows ou estão localizadas no subdiretório bin\<Platform> do WDK.

Quando devo usar o Rastreamento de Software WPP ou a API ETW (Rastreamento de Eventos para Windows) ?

Use o Rastreamento de Software WPP se você estiver interessado em coletar principalmente dados de rastreamento para fins de desenvolvimento e depuração. Use o ETW (Rastreamento de Eventos para Windows) para outros tipos de rastreamento.

Rastreamento de software WPP Manifested/TraceLogging ETW
Com suporte no Windows 2000 e posterior. Com suporte no Windows Vista e posteriores.
Eventos de rastreamento para desenvolvimento e depuração. Principalmente para desenvolvedores internos focados. Rastreamento de eventos para fins administrativos, operacionais, analíticos e de depuração.
Precisa de arquivos TMF para decodificar os eventos, que são extraídos do PDB do binário de log. Os metadados para decodificar os eventos estão contidos em um binário local ou no conteúdo do evento.
Pode ser apenas uma sessão ativa por provedor de rastreamento. Os eventos podem ser multiplexados para vários consumidores.
As cadeias de caracteres de mensagem não podem ser localizadas. Cadeias de caracteres podem ser localizadas.
A segurança do provedor é limitada a não compartilhar o GUID de controle ou os arquivos TMF necessários para habilitar e decodificar os eventos, respectivamente. O provedor pode ter ACLs aplicadas para restringir quais usuários podem coletar eventos dele.
 

Para obter informações sobre como usar macros do WPP (pré-processador de rastreamento de software) do Windows para adicionar rastreamento de software a um driver ou aplicativo, consulte Rastreamento de software WPP.

Para obter informações sobre como usar a API ETW no modo kernel para drivers, confira Rastreamento de eventos para Windows (ETW).

Para obter informações sobre como usar as extensões WMI (Instrumentação de Gerenciamento do Windows) para o Modelo de Driver do Windows (WDM) para adicionar rastreamento de software a qualquer driver, consulte Rastreamento de Eventos WMI.

Nota O ETW e o WPP dão suporte à maioria dos tipos de drivers no modo kernel e aplicativos no modo de usuário. No entanto, o ETW e o WPP usam tipos que não estão disponíveis para determinados tipos de drivers, como drivers de miniport. Para determinar se há suporte para um tipo de driver específico, adicione macros WPP básicas ao driver, como WPP_INIT_TRACING e WPP_CLEANUP. Se o código não for compilado porque os tipos usados não são definidos, ETW e WPP não poderão dar suporte ao tipo de driver. 

O que há nesta seção

Esta seção começa com uma pesquisa de ferramentas de rastreamento de software, discute os conceitos subjacentes às ferramentas e inclui a documentação das ferramentas de rastreamento de software no WDK.

Esta seção inclui:

Pesquisa de Ferramentas de Rastreamento de Software

Conceitos da ferramenta de rastreamento

TraceView

Tracelog

Tracepdb

Tracefmt

Rastreamento durante a inicialização

Rastreamento de software WPP

Perguntas frequentes sobre rastreamento de software

ETW (Rastreamento de Eventos para Windows)

Monitoramento de desempenho do modo kernel

Para obter informações conceituais sobre o Rastreamento de Eventos, consulte a documentação do SDK do Microsoft Windows.