Esempio 5: Formattazione Real-Time sessioni di traccia

È possibile usare Tracefmt per formattare i messaggi di traccia da sessioni di traccia in tempo reale oltre ai file di log di traccia.

La sequenza di comandi seguente usa Tracelog e Tracefmt. Il primo comando usa Tracelog per avviare una sessione di traccia in tempo reale con il provider di traccia di esempio Tracedrv. TraceDrv, un driver di esempio progettato per la traccia software, è disponibile nel repository degli esempi di driver di Windows in GitHub.

tracelog -start MyTrace -guid tracedrv.ctl -flag 1 -rt

Questo comando avvia una sessione di traccia denominata MyTrace. Usa il parametro -guid per identificare il provider di traccia, Tracedrv.sys, usando il relativo file GUID di controllo, tracedrv.ctl. Usa il parametro -flag per impostare il valore del flag di traccia su 1. Usa il parametro -rt per avviare una sessione di traccia che recapita i messaggi direttamente a un consumer di traccia, ad esempio Tracefmt. Senza il parametro -rt , il provider di traccia invierà messaggi solo a un file di log.

Il comando successivo usa Tracefmt per formattare i messaggi generati da Tracedrv durante la sessione di traccia MyTrace.

tracefmt -rt MyTrace -p c:\tracing -o mytrace.txt

Questo comando Tracefmt usa il parametro -rt per identificare la sessione di traccia in tempo reale, MyTrace e il parametro -p per specificare la directory in cui si trova il file TMF per Tracedrv.sys. Il parametro -o indirizza l'output al file mytrace.txt nella directory locale.

In risposta a questo comando, Tracefmt si prepara a formattare i messaggi di traccia in tempo reale. Visualizza i messaggi di stato seguenti, ma non torna al prompt dei comandi:

c:\tracetools>tracefmt -rt mytrace -display -o mytrace.txt
Setting RealTime mode for  mytrace
Getting guids from c:\tracetools\default.tmf

Il comando Tracelog seguente arresta la sessione di traccia MyTrace. È necessario digitare il comando in un'altra finestra del prompt dei comandi.

tracelog -stop mytrace

Quando la sessione di traccia si arresta, Tracefmt segnala che ha scritto i messaggi di traccia nel file di output e quindi torna al prompt dei comandi.

Event traces dumped to mytrace.txt
Event Summary dumped to mytrace.txt.sum