Condividi tramite


Traccia software WPP

Questa sezione descrive come usare il preprocessore di traccia software Windows (WPP) per tracciare il funzionamento di un componente software (provider di traccia). Un provider di traccia può essere uno dei seguenti:

  • Driver in modalità kernel.

  • Driver, applicazione o libreria a collegamento dinamico (DLL) in modalità utente.

La traccia software WPP integra e migliora la traccia degli eventi WMI aggiungendo modi per semplificare la traccia del funzionamento del provider di traccia. È un meccanismo efficiente per il provider di traccia per registrare i messaggi binari in tempo reale. I messaggi registrati possono essere successivamente convertiti in una traccia leggibile dell'operazione del provider di traccia.

Quando è consigliabile usare la traccia software WPP?

La traccia software WPP è destinata principalmente al debug del codice durante lo sviluppo. Se si desidera pubblicare eventi che possono essere utilizzati dalle applicazioni interessate a eventi ETW strutturati, oltre a tracciare durante lo sviluppo, usare quanto segue:

Per altre informazioni, vedere When should I use WPP Software Tracing or the Event Tracing for Windows (ETW) API?

La registrazione dei messaggi con la traccia software WPP è simile all'uso dei servizi di registrazione eventi di Windows. Il driver registra un ID messaggio e dati binari non formattati in un file di log. Successivamente, un postprocessore converte le informazioni nel file di log in un formato leggibile. Tuttavia, la traccia software WPP supporta formati di messaggi più compatibili e flessibili rispetto a quelli supportati dai servizi di registrazione eventi. Ad esempio, la traccia software WPP include il supporto incorporato per indirizzi IP, GUID, ID di sistema, timestamp e altri tipi di dati utili. Inoltre, gli utenti possono aggiungere tipi di dati personalizzati rilevanti per l'applicazione.

Panoramica del processo di traccia software WPP

Il processo di base per l'aggiunta di traccia software WPP a un driver o a un'applicazione include i passaggi seguenti. Se si usa uno dei modelli di Visual Studio forniti in WDK per la creazione di un driver WDF, gran parte del lavoro viene eseguita.

  • Definire un GUID di controllo che identifica in modo univoco il driver o l'applicazione come provider di traccia. Il provider specifica questo GUID nella definizione della macro WPP_CONTROL_GUIDS e in un file di controllo correlato utilizzato da Tracelog o da un altro controller di traccia.

  • Aggiungere le direttive del preprocessore C necessarie correlate a WPP e le chiamate di macro WPP ai file di origine del provider, come descritto in Aggiunta di traccia software WPP a un driver Windows e in WPP Software Tracing Reference.

  • Modificare il progetto di Visual Studio per eseguire il preprocessore WPP e compilare il driver, come descritto nel passaggio 6 dell'aggiunta della traccia software WPP a un driver Windows. È possibile fare riferimento al preprocessore WPP per altre opzioni di fase di compilazione.

  • Installare il driver o il componente. Avviare una sessione di traccia e registrare i messaggi di traccia. Usare gli strumenti per la traccia software, ad esempio TraceView, Tracelog, Tracefmt e Tracepdb per configurare, avviare e arrestare le sessioni di traccia e per visualizzare e filtrare i messaggi di traccia. Questi strumenti sono inclusi in Windows Driver Kit (WDK).

Contenuto della sezione

Nota Event Tracing for Windows (ETW) e WPP supportano la maggior parte dei tipi di driver in modalità kernel e in modalità utente. Tuttavia, ETW e WPP usano tipi non disponibili per determinati tipi di driver, ad esempio driver miniport. Per determinare se è supportato un particolare tipo di driver, aggiungere macro WPP di base al driver, ad esempio WPP_INIT_TRACING e WPP_CLEANUP. Se il codice non viene compilato perché i tipi utilizzati non sono definiti, ETW e WPP non possono supportare il tipo di driver.

Per altre informazioni su ETW, vedere Event Tracing for Windows.For more information about ETW, see Event Tracing for Windows.

Nota I provider di traccia WPP possono essere abilitati solo da una sessione di traccia alla volta. Per altre informazioni, vedere Provider WPP .

Per informazioni sulle routine di supporto della libreria WMI che supportano la traccia software WPP, vedere:

WmiQueryTraceInformation

WmiTraceMessage

WmiTraceMessageVa