Rastreamento de software WPP

Esta seção descreve como usar o WPP (pré-processador de rastreamento de software ) do Windows para rastrear a operação de um componente de software (provedor de rastreamento). Um provedor de rastreamento pode ser um dos seguintes:

  • Um driver no modo kernel.

  • Um driver do modo de usuário, um aplicativo ou uma DLL (biblioteca de vínculo dinâmico).

O rastreamento de software WPP complementa e aprimora o rastreamento de eventos WMI adicionando maneiras de simplificar o rastreamento da operação do provedor de rastreamento. É um mecanismo eficiente para o provedor de rastreamento registrar mensagens binárias em tempo real. As mensagens registradas posteriormente podem ser convertidas em um rastreamento legível por humanos da operação do provedor de rastreamento.

Quando você deve usar o rastreamento de software WPP?

O rastreamento de software WPP destina-se principalmente à depuração de código durante o desenvolvimento. Se você quiser publicar eventos que podem ser consumidos por aplicativos interessados em eventos ETW estruturados, além do rastreamento durante o desenvolvimento, use o seguinte:

Para obter mais informações, consulte Quando devo usar o Rastreamento de Software WPP ou a API ETW (Rastreamento de Eventos para Windows) ?

Registrar mensagens com rastreamento de software WPP é semelhante ao uso de serviços de log de eventos do Windows. O driver registra uma ID de mensagem e dados binários não formatados em um arquivo de log. Posteriormente, um pós-processador converte as informações no arquivo de log em um formulário legível por humanos. No entanto, o rastreamento de software WPP dá suporte a formatos de mensagem mais capazes e flexíveis do que os compatíveis com os serviços de registro em log de eventos. Por exemplo, o rastreamento de software WPP tem suporte interno para endereços IP, GUIDs, IDs do sistema, carimbos de data/hora e outros tipos de dados úteis. Além disso, os usuários podem adicionar tipos de dados personalizados relevantes ao aplicativo.

Uma visão geral do processo de rastreamento de software WPP

O processo básico para adicionar o rastreamento de software WPP a um driver ou aplicativo inclui as etapas a seguir. Se você usar um dos modelos do Visual Studio fornecidos no WDK para criar um driver WDF, grande parte do trabalho será feito para você.

  • Defina um GUID de controle que identifique exclusivamente o driver ou o aplicativo como um provedor de rastreamento. O provedor especifica esse GUID em sua definição da macro WPP_CONTROL_GUIDS e em um arquivo de controle relacionado usado por Tracelog ou outro Controlador de Rastreamento.

  • Adicione as diretivas de pré-processador C relacionadas ao WPP necessárias e as chamadas de macro WPP aos arquivos de origem do provedor, conforme descrito em Adicionar rastreamento de software WPP a um Driver do Windows e na Referência de Rastreamento de Software WPP.

  • Modifique o projeto do Visual Studio para executar o pré-processador WPP e compile o driver, conforme descrito na Etapa 6 de Adicionar Rastreamento de Software WPP a um Driver do Windows. Você pode consultar o Pré-processador WPP para obter mais opções de tempo de build.

  • Instale o driver ou componente. Inicie uma sessão de rastreamento e registre as mensagens de rastreamento. Use as ferramentas para rastreamento de software, como TraceView, Tracelog, Tracefmt e Tracepdb para configurar, iniciar e parar sessões de rastreamento e exibir e filtrar mensagens de rastreamento. Essas ferramentas estão incluídas no WDK (Kit de Driver do Windows).

Nesta seção

Nota O ETW (Rastreamento de Eventos para Windows) e o WPP dão suporte à maioria dos tipos de drivers do modo kernel e do 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 estão definidos, ETW e WPP não poderão dar suporte ao tipo de driver.

Para obter mais informações sobre o ETW, consulte Rastreamento de eventos para Windows.

Nota Os provedores de rastreamento do WPP só podem ser habilitados por uma sessão de rastreamento por vez. Consulte Provedores WPP para obter mais informações.

Para obter informações sobre as rotinas de suporte da biblioteca WMI que dão suporte ao rastreamento de software WPP, consulte:

WmiQueryTraceInformation

WmiTraceMessage

WmiTraceMessageVa