Esempio 16: Visualizzazione dei messaggi di traccia in un debugger

Questo esempio illustra come reindirizzare i messaggi di traccia a KD o a WinDbg.

Prima di avviare la sessione di traccia, verificare che Wmitrace.dll e Traceprt.dll si trovino nel percorso di ricerca del debugger nel computer host. Queste DLL sono incluse in Strumenti di debug per Windows nella directory \Programmi\Strumenti di debug per Windows\winxp. Nonostante il nome della directory, i file funzionano in Windows 2000 e versioni successive di Windows.

Verificare inoltre che i file di formato del messaggio di traccia (TMF) per il provider di traccia si trovino nel percorso di ricerca del debugger.

Per impostare il percorso di ricerca del debugger, usare l'estensione di debugger specializzata !wmitrace.searchpath o impostare il valore della variabile di ambiente %TRACE_FORMAT_SEARCH_PATH%. Ad esempio:

set TRACE_FORMAT_SEARCH_PATH=c:\tracing

Avviare quindi il debugger. Se si invia un comando Tracelog con il parametro -kd e un debugger non è in esecuzione, Tracelog smette di rispondere ("hangs").

Il comando seguente avvia una sessione di traccia e invia i messaggi di traccia a KD o a Windbg, a qualsiasi elemento collegato.

tracelog -start MyTrace -guid MyProvider.ctl -rt -kd

Il comando tracelog -start include un nome di sessione per avviare la sessione di traccia. Usa il parametro -guid per identificare il file del provider. Usa anche il parametro -rt per avviare una sessione di traccia in tempo reale, in modo che i messaggi di traccia vengano inviati al debugger e non a un file di log.

In risposta, Tracelog segnala che ha avviato la sessione. Quando il provider di traccia genera messaggi, i messaggi vengono visualizzati nel debugger.

Per visualizzare i messaggi nel debugger, usare le estensioni di traccia WMI. Per informazioni, vedere Strumenti di debug per Windows.