Condividi tramite


Sintassi del comando Tracelog

Tracelog include comandi (o azioni) che avviano, arrestano e controllano una sessione di traccia.

Nota

Per controllare una sessione di traccia, è necessario essere membri del gruppo Performance Log Users o del gruppo Administrators nel computer (Esegui come amministratore).

    tracelog [actions] [options] | [-h | -help | -?] 

Parametri

Per informazioni sui parametri tracelog, vedere [actions] [options].

[azioni]

-addautologger [LoggerName]
Configura le voci del Registro di sistema per una sessione di autologger. Una sessione di autologger è il metodo preferito per tracciare l'attività di un driver o di un altro provider di traccia durante l'avvio del sistema. È necessario specificare il GUID della sessione usando l'opzione -sessionguid . Il comando tracelog -addautologger accetta le stesse opzioni del comando Tracelog -start .

-capturestate [LoggerName]
Richiede a Tutti i provider abilitati a LoggerName di registrare le informazioni sullo stato. Le parole chiave abilitate consentono di determinare il tipo di informazioni registrate.

-disable [LoggerName]
Disabilita i provider di traccia specificati. Quando un provider è disabilitato, continua a essere eseguito, ma smette di generare messaggi di traccia.

Il comando tracelog -stop disabilita i provider di traccia prima di arrestare la sessione. Non è necessario disabilitare i provider prima di arrestare una sessione di traccia. Tuttavia, è possibile usare il comando tracelog -disable per disabilitare i provider selezionati senza arrestare una sessione di traccia.

La disabilitazione impedisce al provider di traccia di inviare messaggi di traccia ai buffer della sessione di traccia, ma non scarica i buffer o arresta la sessione di traccia. Usare un comando tracelog -flush per scaricare i buffer e un comando tracelog -stop o tracelog -x (stop all) per arrestare la sessione di traccia.

Tracelog usa la funzione EnableTrace per implementare un comando tracelog -disable . Per altre informazioni su questa funzione, vedere la documentazione di Microsoft Windows SDK.

-enable [LoggerName]
Abilita uno o più provider di traccia per la sessione di traccia LoggerName .

Quando si abilita un provider, il provider genera messaggi di traccia e li invia ai buffer di una sessione di traccia. Se il provider non è in esecuzione (o non viene caricato) quando lo si abilita, il sistema preregistra il provider, ovvero riserva spazio per il provider nel database di registrazione ETW e salva il comando enable. All'avvio e alla registrazione effettiva del provider, riceve il comando enable salvato e inizia a inviare messaggi di traccia alla sessione.

Il comando tracelog -start abilita tutti i provider specificati dal parametro facoltativo -guid nel comando tracelog -start . Non è necessario inviare un comando tracelog -enable separato.

È possibile usare un comando tracelog -enable per aggiungere un provider a una sessione di traccia in esecuzione, per modificare i flag e il livello per un provider durante la traccia o per riabilitare un provider disabilitato usando un comando tracelog -disable .

Quando si usa il comando tracelog -enable , inviare prima un comando tracelog -start per avviare la sessione di traccia e quindi inviare il comando tracelog -enable per abilitare i provider.

È possibile abilitare ripetutamente un provider in esecuzione senza disabilitarlo. Questa operazione può essere eseguita per modificare i flag e i livelli.

I flag di traccia e il livello di traccia specificati con i parametri -flag e -level vengono passati a tutti i provider di traccia rappresentati dal parametro -guid . Per specificare flag e livelli diversi per ogni provider di traccia, inviare un comando tracelog -enable separato per ogni provider, con le proprie impostazioni di flag e livello.

Se si abilita uno dei flag NT Kernel Logger (ad esempio -noprocess, -nothread, -fio o -cm) mentre è in esecuzione una sessione di traccia logger globale, la sessione logger globale viene convertita in una sessione di traccia del logger kernel NT. Questa funzionalità è progettata per tracciare gli eventi del kernel durante il processo di avvio.

-enableex [LoggerName]
Identico a -enable. Questa opzione può essere rimossa nelle versioni future di Tracelog.

-enumguid
Enumera (o elenca) i provider nel sistema registrati con Event Tracing for Windows (ETW). Per una descrizione della visualizzazione Enumguid, vedere Tracelog Enumguid Display.For a description of the Enumguid display, see Tracelog Enumguid Display.

Tracelog usa la funzione EnumerateTraceGuids per implementare un comando tracelog -enumguid . Per altre informazioni su questa funzione, vedere la documentazione di Microsoft Windows SDK.

-enumguidex [#guid]
Enumera (o elenca) i provider nel sistema registrati con Event Tracing for Windows (ETW). Per una descrizione della visualizzazione EnumguidEx, vedere Tracelog Enumguid Display.

Tracelog usa la funzione EnumerateTraceGuidsEx per implementare un comando tracelog -enumguidex . Per altre informazioni su questa funzione, vedere la documentazione di Microsoft Windows SDK.

-flush [LoggerName]
Scarica i buffer attivi della sessione di traccia LoggerName . Se LoggerName non è specificato, Tracelog scarica i buffer della sessione di traccia NT Kernel Logger.

Questo scaricamento forzato si aggiunge agli scaricamenti che si verificano automaticamente ogni volta che un buffer dei messaggi di traccia è pieno e quando la sessione di traccia si arresta e oltre agli scaricamenti attivati dal timer di scaricamento (-ft).

Quando si scaricano i buffer di una sessione di traccia, gli eventi nei buffer vengono recapitati immediatamente al log di traccia o al consumer di traccia.

Lo scaricamento non disabilita il provider di traccia o reindirizza i messaggi di traccia. Dopo lo scaricamento dei buffer, il provider di traccia continua a scrivere eventi nei buffer.

Tracelog usa la funzione FlushTrace per implementare un comando tracelog -flush . Per altre informazioni su questa funzione, vedere la documentazione di Microsoft Windows SDK.

È possibile usare il comando tracelog -flush con l'opzione -f Logfile per scaricare i messaggi di traccia attualmente presenti nel buffer nel file di log di traccia specificato (con estensione etl). Questo parametro è valido solo per le sessioni di traccia memorizzate nel buffer (buffering). Per altri tipi di sessione di traccia, il parametro -f viene ignorato.

Questo scaricamento influisce solo sul contenuto corrente del buffer. Non reindirizza i messaggi di traccia futuri al log di traccia.

-l [-lp]
Elenca le proprietà di tutte le sessioni di traccia in esecuzione nel computer.

Se si passa l'opzione -lp , tracelog elenca anche tutti i provider abilitati a ogni sessione.

-q [LoggerName] [-lp]
Elenca (query) le proprietà della sessione di traccia specificata. Se non si specifica LoggerName, Tracelog esegue una query sulla sessione di traccia NT Kernel Logger.

Se si passa l'opzione -lp , tracelog elenca anche tutti i provider abilitati alla sessione.

-remove GlobalLogger
Rimuove e reinizializza i valori del Registro di sistema per una sessione di traccia del Logger globale. Imposta il valore della voce Start su 0 (non avviare) ed elimina le altre voci del Registro di sistema. Il comando tracelog -remove funziona solo per le sessioni di traccia di Logger globali. Tutti gli altri valori del nome della sessione non sono validi.

Il comando tracelog -remove non è obbligatorio. Tuttavia, se non si imposta il valore della voce Start su 0, viene avviata una sessione Logger globale ogni volta che si riavvia il sistema.

Se non si usa un comando tracelog -remove , le opzioni della sessione precedente sono ancora presenti nel Registro di sistema e verranno usate per la nuova sessione, a meno che non si invii un comando tracelog -start con valori diversi per le stesse opzioni.

-start [LoggerName]
Avvia una sessione di traccia usando loggerName selezionato per rappresentare la sessione di traccia.

Usare GlobalLogger come LoggerName per specificare una sessione di traccia del logger globale. La sessione viene avviata quando si riavvia il computer.

LoggerName può essere qualsiasi nome che soddisfi le linee guida per la denominazione di Windows, fino a 1.024 caratteri. Se il nome include spazi, racchiudere il nome tra virgolette. Il log di traccia non fa distinzione tra maiuscole e minuscole.

Il valore predefinito è "NT Kernel Logger". Se si omette questo parametro, Tracelog avvia una sessione di traccia NT Kernel Logger e dichiara un errore se si usa il parametro -guid per specificare un provider di traccia diverso.

-stop [LoggerName]
Disabilita i provider nella sessione di traccia specificata e quindi termina la sessione.

Il comando tracelog -stop disabilita i provider di traccia e arresta la sessione di traccia. Un comando tracelog -disable disabilita solo i provider di traccia.

Se si avvia una sessione di Boot-Time Global Logger che traccia gli eventi del kernel, è necessario usare il log di traccia del comando -stop "NT Kernel Logger" o tracelog -stop GlobalLogger per arrestarlo. Quando si usa uno dei comandi per arrestare una sessione di traccia della sessione di traccia del Logger globale, Tracelog arresta il provider, ma non reimposta i valori delle voci del Registro di sistema. Per reimpostare i valori delle voci del Registro di sistema Globali Logger, usare tracelog -remove.

-systemrundown [LoggerName]
Richiede a SystemTraceProvider di registrare gli eventi di rundown indirizzati alla sessione LoggerName . Per informazioni sull'avvio di una sessione di traccia, vedere Configurazione e avvio di una sessione di SystemTraceProvider.

Questo comando è disponibile solo in Windows 8 e versioni successive di Windows.

-Timeout valore
Specifica il valore di timeout, espresso in millisecondi (ms), da usare quando si abilitano i provider con il comando tracelog -enable . Il timeout predefinito è 0.

Se il valore di timeout è 0, il tracelog chiamerà il callback di ogni provider e restituirà immediatamente, senza attendere il completamento del callback.

Per abilitare i provider in modo sincrono, specificare un valore di timeout. Se si specifica un valore di timeout, Tracelog attenderà fino alla scadenza del callback di ogni provider o alla scadenza del timeout.

Quando si abilitano più provider contemporaneamente, il timeout viene applicato a ognuno in sequenza.

-update [LoggerName]
Il comando tracelog -update modifica le proprietà di una sessione di traccia durante l'esecuzione.

In un comando tracelog -update il parametro -guid è valido solo quando si aggiorna una sessione di traccia privata (-um). Per aggiungere o rimuovere provider da una sessione di traccia standard durante l'esecuzione della sessione, usare i comandi tracelog -enable e tracelog -disable .

Se si avvia una sessione del log di traccia (-f), è possibile eseguire l'aggiornamento a una sessione in tempo reale (-rt), ma i messaggi continuano a essere inviati al log di traccia oltre al consumer di traccia. Non è possibile eliminare il log dalla sessione aggiornando. Tuttavia, prima di poter aggiungere il recapito dei messaggi in tempo reale a una sessione del log di traccia, è necessario usare il comando tracelog -flush per scaricare i buffer.

Se si avvia una sessione in tempo reale (-rt) e quindi si esegue l'aggiornamento a una sessione del log di traccia (-f), i nuovi messaggi di traccia non vengono più inviati direttamente al consumer di traccia, ma vengono inviati solo al log di traccia. Per aggiungere un log di traccia a una sessione di traccia in tempo reale, usare sia -rt che -f nel comando tracelog -update . Prima di poter aggiungere il recapito dei messaggi in tempo reale a una sessione del log di traccia, è necessario usare il comando tracelog -flush per scaricare i buffer.

Non è possibile aggiornare una sessione di traccia del Logger globale.

Per una sessione di traccia privata (modalità utente), è possibile aggiornare solo il nome del file di log (-f) e il valore timer di scaricamento (-ft).

Per aggiornare i flag e i livelli, usare il comando tracelog -enable per riabilitare il provider con nuovi flag o livelli.

Tracelog usa la funzione ControlTrace per implementare un comando tracelog -update . Per altre informazioni su questa funzione, vedere la documentazione di Microsoft Windows SDK.

[opzioni]

-addtotriagedump

Nota

Questa opzione non deve essere usata tranne quando potrebbe essere necessario visualizzare gli eventi da un dump del kernel usando il debugger.

Specifica che tutti i buffer attivi per la sessione sono disponibili per essere aggiunti a un dump della memoria di valutazione. I dump di valutazione sono limitati in dimensioni e, se i buffer della sessione causano il superamento delle dimensioni massime del dump, i buffer verranno lasciati fuori.

-aggiungere
Aggiunge i messaggi di traccia al file del log di traccia eventi (con estensione etl) specificato dal parametro -f . L'impostazione predefinita consiste nel creare un nuovo file.

Questo parametro è valido solo nei comandi che includono -f e non includono -rt o -cir.

-b BufferSize
Specifica le dimensioni, in KB, di ogni buffer allocato per la sessione di traccia. Il valore predefinito è determinato dal numero di processori, dalla quantità di memoria fisica e dal sistema operativo in uso.

-bt n
Specifica il numero (n) di buffer da riempire prima di iniziare a scaricarli. Questa opzione è disponibile a partire da Windows 8.1.

-Buffer
Avvia una sessione di traccia memorizzata nel buffer.

In una sessione di traccia memorizzata nel buffer, i messaggi di traccia vengono conservati nei buffer di traccia. Non vengono inviati a un consumer di traccia o registrati in un log di traccia.

-Cir MaxFileSize
Specifica la registrazione circolare (alla fine del file, registrare nuovi messaggi sui messaggi meno recenti) nel file del log di traccia eventi (con estensione etl). MaxFileSize specifica le dimensioni massime del file in MB. Senza un valore MaxFileSize , questo parametro viene ignorato.

Il valore predefinito è la registrazione sequenziale senza limiti di dimensioni del file.

-centimetro
Abilita la traccia dell'accesso al Registro di sistema (Configuration Manager). Questo parametro è valido solo per una sessione di traccia NT Kernel Logger.

-critsec
Traccia gli eventi critici della sezione per un processo in una sessione di traccia privata. È possibile avviare un logger di processo di sezione critico in qualsiasi processo in modalità utente, anche uno non instrumentato per la traccia.

Usare -pids per specificare il processo. Non usare -guid con -critsec. Il sistema definisce un GUID personalizzato (CritSecGuid) per le tracce di sezione critiche. Non è possibile usare -heap e -critsec nello stesso comando.

-dpcisr
Abilita la traccia delle chiamate di procedure posticipate (DPC), delle richieste del servizio di interrupt (ISR), degli eventi di caricamento delle immagini (-img) e dei commutatori di contesto nel kernel. Questo parametro è valido solo per una sessione di traccia NT Kernel Logger.

Questa opzione è supportata solo nella versione di Tracelog inclusa in Windows Driver Kit per Windows Vista e versioni successive di WDK. L'opzione –dpcisr non può essere usata con l'opzione -eflag .

Usare il parametro -UsePerfCounter con -dpcisr. Questo parametro, che fornisce un timestamp univoco per ogni evento, è richiesto da Tracerpt, uno strumento usato per formattare e interpretare gli eventi DPC/ISR. Per informazioni sull'interpretazione e la formattazione di questi eventi, vedere "Commenti", di seguito.

-eflag n [flag...]
Abilita gli eventi del kernel usando flag aggiuntivi per le sessioni di traccia del logger del kernel NT, in particolare i flag per abilitare la traccia degli eventi DPC, ISR e cambio di contesto. L'opzione -eflag non può essere usata con l'opzione –dpcisr .

-enableproperty n
Per le descrizioni e i valori supportati, vedere la descrizione di EnabledProperties nello struct EnableParameters passato come parametro a EnableTraceEx2.

-EventIdFilter {-in-out|} } } n **** id1 id2 ...
Specifica un filtro id evento con n ID evento (massimo 64 ID evento consentiti). Questa opzione è disponibile a partire da Windows 8.1.

-ExeFilter Executable_file [; Executable_file ...]
Specifica i nomi dei file eseguibili da filtrare. È possibile specificare un elenco di file. Separare i nomi dei file usando punti e virgola. I file non elencati sono esclusi. Questa opzione è disponibile a partire da Windows 8.1.

-f [LogFile]
Avvia una sessione del log di traccia. LogFile specifica il percorso (facoltativo) e il nome file del file del log di traccia eventi (con estensione etl). Il valore predefinito è C:\LogFile.etl. Per inserire il file in un computer remoto, includere il nome del computer o l'indirizzo IP nel percorso.

Se si usa -rt con -f, i messaggi di traccia vengono inviati al consumer e a un file di log di traccia eventi. Non è possibile usare -rt o -f con -buffering.

-Fio
Abilita la traccia degli eventi di I/O dei file. Questo parametro è valido solo per una sessione di traccia NT Kernel Logger.

-bandiera Bandiera

Nota

I flag sono stati sostituiti da parole chiave. Usare -matchanykw a meno che non si stia abilitando un provider WPP.

Specifica i flag di traccia per i provider nella sessione di traccia. Il valore del flag determina gli eventi generati dal provider di traccia.

Flag rappresenta un valore di flag definito nel provider di traccia, in formato decimale o esadecimale. Il valore predefinito è 0. I valori da 0x01000000 a 0xFF000000 sono riservati per uso futuro.

Il significato del valore del flag viene definito in modo indipendente da ogni provider di traccia. In genere, i flag rappresentano livelli di report sempre più dettagliati.

Il valore del flag specificato in un comando tracelog -start si applica a tutti i provider di traccia nella sessione di traccia. Per impostare flag diversi per ogni provider di traccia, usare tracelog -enable.

-Ft FlushTime
Specifica la frequenza, in secondi, dello scaricamento dei buffer dei messaggi di traccia. Il tempo minimo di scaricamento è 1 secondo. Il valore predefinito è 0 (nessuna scaricamento forzato).

Questo scaricamento forzato si aggiunge agli scaricamenti che vengono eseguiti automaticamente ogni volta che un buffer di messaggi di traccia è pieno e quando una sessione di traccia si arresta.

Vedere il comando tracelog -flush.

-guid {#GUID | file | *name}
Abilita i provider di traccia specificati.

Se si specifica un file, Tracelog abiliterà la traccia per tutti i provider specificati nel file. Il file deve essere formattato come segue:

; comment line
guid1;matchanykeyword;level
guid2;matchanykeyword;level

Se viene specificato un GUID del provider, il GUID deve essere preceduto da un segno di numero (#).

Se viene specificato un nome di provider, il nome deve essere preceduto da un asterisco (*). Il nome verrà quindi convertito in un GUID usando lo stesso algoritmo di . Origine evento di NET. Questo GUID verrà quindi usato per abilitare il provider.

Se si omette questo parametro, nessun provider di traccia invierà messaggi alla sessione di traccia. Tuttavia, dopo aver avviato la sessione di traccia, è possibile usare un comando tracelog -enable per abilitare uno o più provider di traccia per la sessione.

-Gs
Genera un numero di sequenza globale per ogni messaggio di traccia.

I numeri di sequenza globali sono univoci per tutte le sessioni di traccia nel computer. Per impostazione predefinita, non sono presenti numeri di sequenza.

Questo parametro non è valido con la sessione di traccia NT Kernel Logger.

-mucchio
Traccia gli eventi di memoria dell'heap per un processo in modalità utente. È possibile avviare un logger di processo heap in qualsiasi processo in modalità utente, anche uno non instrumentato per la traccia.

Usare -pids per specificare il processo. Non usare -guid con -heap. Il sistema definisce un GUID personalizzato (HeapGuid) per le tracce di memoria heap. Non è possibile usare -heap e -critsec nello stesso comando.

-Hf
Abilita la traccia degli errori di pagina hard page (errori di pagina che richiedono l'accesso al disco per la risoluzione). Questo parametro è valido solo per una sessione di traccia NT Kernel Logger.

-hybridshutdown {stop|persist}
Controlla il comportamento del logger di arresto ibrido. Questa opzione è disponibile a partire da Windows 8.

l'arresto causerà l'arresto della sessione quando il sistema esegue un arresto ibrido. persist causerà la continuazione della sessione dopo l'avvio del sistema da un arresto ibrido.

-img
Abilita la traccia degli eventi di caricamento delle immagini. Questo parametro è valido solo per una sessione di traccia NT Kernel Logger.

-indipendente

Nota

La modalità indipendente deve essere abilitata in ogni sessione di traccia.

Abilita la modalità indipendente nella sessione di traccia. La modalità indipendente consente alla sessione di raccogliere eventi che altre sessioni in modalità non indipendente sono state eliminate. Questa opzione è disponibile a partire da Windows 8.1.

-KB
Usare kilobyte (KB) per le dimensioni del file di log. Il valore predefinito è megabyte (MB).

-Kd
Reindirizza i messaggi di traccia a KD o Windbg, a qualsiasi elemento collegato. Questo parametro imposta anche le dimensioni del buffer di traccia su 3 KB, le dimensioni massime del buffer per il debugger e ignora tutti i parametri -b nel comando.

Il debugger deve essere in esecuzione quando si invia un comando Tracelog con -kd. In caso contrario, Tracelog smette di rispondere.

Per informazioni sulla visualizzazione dei messaggi di traccia in un debugger del kernel, vedere Commenti.

-Lbr *EventName[**+EventName+...]:Filter[,*Filter,...]
Configurare la traccia LBR sugli eventi del kernel.

Usare la Guida -eflag per un elenco di eventi del kernel.

-livello n
Specifica il livello di traccia per i provider nella sessione di traccia. Il livello determina gli eventi generati dal provider di traccia.

Level rappresenta un valore di livello in formato decimale o esadecimale. Il valore predefinito è 0.

Il significato del valore del livello viene definito in modo indipendente da ogni provider di traccia. In genere, il livello di traccia rappresenta la gravità dell'evento (informazioni, avviso o errore).

Il valore del livello specificato in un comando tracelog -start si applica a tutti i provider di traccia nella sessione di traccia. Per impostare livelli diversi per ogni provider di traccia, usare tracelog -enable.

-lowcapacity

Nota

Questa opzione non deve essere usata a meno che non sia necessario ridurre i costi di memoria. L'uso di questa opzione rende ogni evento più lento per la registrazione.

Usa un singolo buffer alla volta per raccogliere gli eventi generati su più processori. Questa opzione seleziona la modalità di registrazione EVENT_TRACE_NO_PER_PROCESSOR_BUFFERING. Per altre informazioni, vedere Windows SDK.

-Ls
Genera un numero di sequenza locale per ogni messaggio di traccia.

I numeri di sequenza locali sono univoci all'interno di una sessione di traccia. Per impostazione predefinita, non sono presenti numeri di sequenza.

Questo parametro non è valido con la sessione di traccia NT Kernel Logger.

-Max NumberOfBuffers
Specifica il numero massimo di buffer allocati da Tracelog per la sessione di traccia. Il valore predefinito è determinato dal numero di processori, dalla quantità di memoria fisica e dal sistema operativo in uso.

-matchallkw n
Specifica la maschera di bit MatchAllKeyWord che limita la categoria di eventi scritti dal provider e viene utilizzata insieme all'opzione -matchanykw .

Questa maschera di bit è facoltativa. Se la parola chiave dell'evento soddisfa la condizione specificata nell'opzione -matchanykw , il provider scriverà l'evento solo se tutti i bit in questa maschera esistono nella parola chiave dell'evento. Questa maschera non viene utilizzata se -matchanykw è zero.

Tracelog passa il valore n nel parametro MatchAllKeyWord della chiamata di funzione EnableTraceEx2 . Per altre informazioni, vedere Windows SDK.

-matchanykw n
Specifica la maschera di bit MatchAnyKeyword che determina la categoria di eventi scritti dal provider.

Il provider scrive l'evento se uno dei bit della parola chiave dell'evento corrisponde a uno qualsiasi dei bit impostati in questa maschera. Tracelog passa il valore n nel parametro MatchAnyKeyWord della chiamata di funzione EnableTraceEx2 . Per altre informazioni, vedere Windows SDK.

-Min NumberOfBuffers
Specifica il numero di buffer inizialmente allocati per l'archiviazione dei messaggi di traccia. Quando i buffer sono pieni, Tracelog alloca più buffer fino a raggiungere il valore massimo. Il valore predefinito è determinato dal numero di processori, dalla quantità di memoria fisica e dal sistema operativo in uso.

-newfile MaxFileSize
Crea un nuovo file di log di traccia eventi (con estensione etl) ogni volta che il file esistente raggiunge MaxFileSize. MaxFileSize specifica le dimensioni massime di ogni file di log in MB. Senza un valore MaxFileSize , questo parametro viene ignorato.

Quando si usa -newfile, è necessario usare anche il parametro -f LogFile e il valore di LogFile deve essere un nome che include i caratteri %d per indicare un criterio decimale, ad esempio trace%d.etl. In caso contrario, il comando ha esito negativo con ERROR_INVALID_NAME. Windows incrementa il valore decimale nel nome del file ogni volta che crea un nuovo file.

Questo parametro non è valido con la preallocazione (-prealloc), la registrazione circolare (-cir), con la sessione NT Kernel Logger o per le sessioni di traccia privata.

-nodisk
Disabilita la traccia degli eventi di I/O del disco fisico. Questo parametro è valido solo per una sessione di traccia NT Kernel Logger.

-comunque
Disabilita la traccia degli eventi TCP/IP e UDP (User Datagram Protocol). Questo parametro è valido solo per una sessione di traccia NT Kernel Logger.

-noprocess
Disabilita la traccia dell'inizio e della fine di ogni processo. Questo parametro è valido solo per una sessione di traccia NT Kernel Logger.

-nothread
Disabilita la traccia dell'inizio e della fine di ogni thread. Questo parametro è valido solo per una sessione di traccia NT Kernel Logger.

-Paging
Usa la memoria di paging per i buffer dei messaggi di traccia. Per impostazione predefinita, la traccia eventi usa memoria non di paging per i buffer.

I provider che richiedono memoria non modificabile non saranno in grado di registrare eventi in una sessione che usa memoria paging.

-pids #PIDs PID [PID...]
Specifica i processi in modalità utente in cui viene eseguita una sessione di traccia di memoria heap o sezione critica. Valido solo con -heap o -critsec.

#PIDs specifica il numero di ID processo elencati con questo parametro. PID rappresenta un identificatore di processo. È possibile specificare fino a dieci PID con questo parametro.

Elencare più PID quando il provider viene eseguito in più processi, ad esempio quando un singolo programma crea più processi.

-PidFilter n pid1 pid2 ...
Specifica un filtro Pid con n Pids (massimo 8 consentiti). Questa opzione è disponibile a partire da Windows 8.1.

-Pf
Abilita la traccia di tutti gli errori di pagina. Questo parametro è valido solo per una sessione di traccia NT Kernel Logger.

-PkgIdFilter Nome completo pacchetto [ **;**Nome completo pacchetto...]
Specifica un filtro ID pacchetto. È possibile specificare un elenco di file di pacchetto. Separare i nomi dei file usando punti e virgola.

-PkgAppIdFilter PRAID [**;**PRAID...]
Specifica un filtro PRAID (Package-Relative App Identifier). PRAID è l'identificatore univoco dell'applicazione all'interno del pacchetto. È possibile specificare più praid. Separare gli ID usando punti e virgola. Questa opzione è disponibile per le app UWP a partire da Windows 8.1.

-Pmc Ctr1,Ctr2,...:Name+Name+...
Configura il campionamento del contatore del monitoraggio delle prestazioni (PMC) negli eventi del kernel specificati. Questa opzione è disponibile a partire da Windows 8.

Usare la Guida di -ProfileSource per un elenco di contatori. Usare la Guida -eflag per un elenco di eventi del kernel.

-prealloc
Riserva spazio per il file con estensione etl prima di avviare la sessione.

Questo parametro richiede -seq o -cir con MaxFileSize. Non è valido con -newfile.

-ProfileSource src
Configurare l'origine di profilatura da usare. Per l'elenco delle origini, usare il comando tracelog -ProfileSource Help. Questa opzione è disponibile a partire da Windows 8.

Questa opzione è disponibile solo in Windows 8 e versioni successive di Windows.

-Rt
Avvia una sessione di traccia in tempo reale. Una sessione del log di traccia (-f) è l'impostazione predefinita.

Se si usa -rt e -f, i messaggi di traccia vengono inviati al consumer di traccia e a un file di log di traccia eventi. Non è possibile usare -rt o -f con -buffering. Per altre informazioni, vedere Sessione di traccia.

-sicuro
Abilita la traccia in modalità protetta. Questa opzione seleziona la modalità di registrazione EVENT_TRACE_SECURE_MODE. Limita gli utenti che possono registrare gli eventi alla sessione a quelli con autorizzazione TRACELOG_LOG_EVENT.

-sessionguid
Specifica il valore del Registro di sistema del GUID della sessione di autologger.

-SetProfInt n **** src

Importante

Non è consigliabile modificare l'intervallo di profilatura.

Configurare l'intervallo di profilatura (n) per l'origine specificata, dove n è in unità di 100ns. Il valore predefinito è 10000 (equivalente a 1 ms). Questa opzione è disponibile a partire da Windows 8.

-Seq MaxFileSize
Specifica la registrazione sequenziale (alla fine del file, arresta la registrazione degli eventi) nel file del log di traccia eventi (con estensione etl). MaxFileSize specifica le dimensioni massime del file in MB. Senza un valore MaxFileSize , questo parametro viene ignorato.

La registrazione sequenziale è l'impostazione predefinita, ma è possibile usare questo parametro per impostare le dimensioni massime del file o per usare -prealloc. Senza questo parametro, non esiste alcun limite di dimensioni del file.

-sourceguid SourceGuid
Specifica il GUID passato come parametro SourceId alle funzioni EnableTraceEx o EnableTraceEx2 . SourceId identifica la sessione che ha abilitato il provider.

-stackwalk [Eventi]
Specifica gli eventi del kernel in cui raccogliere gli stack. Usare la Guida -eflag per un elenco di eventi del kernel. Questo parametro è valido solo per le sessioni di traccia del logger del kernel NT o del logger di sistema.

-StackWalkFilter {-in-out|}nid1 id2 ...
Specifica un filtro ID evento con n ID evento (massimo 64 ID evento consentiti). Questa opzione è disponibile a partire da Windows 8.1.

-systemlogger
Logger può ricevere eventi SystemTraceProvider. Vedere Configurazione e avvio di una sessione SystemTraceProvider. Questa opzione è disponibile a partire da Windows 8.

-micron
Specifica una sessione di traccia privata Questo parametro è necessario per una sessione di traccia privata.

-UseCPUCycle
Usa la frequenza del processore (denominata anche "tick CPU") per misurare l'ora di ogni messaggio di traccia.

Questo timer fornisce la risoluzione più elevata possibile, ma è così sensibile che è soggetta a errori, soprattutto nei sistemi gestiti dall'alimentazione e nei computer multiprocessore. Ad esempio, se si specifica questo timer nel computer che dispone di un processore Arm, potrebbe comportare eventi non ordinati. -UsePerfCounter è invece consigliato per la traccia ad alta risoluzione.

-UsePerfCounter è il timer predefinito per la traccia degli eventi.

-UsePerfCounter
Registra il valore dell'orologio del contatore delle prestazioni ad alta risoluzione, anziché dell'ora di sistema a risoluzione inferiore, con ogni messaggio di traccia.

Poiché l'orologio del contatore delle prestazioni conta in circa 100 nanosecondi unità, fornisce un timestamp univoco per ogni evento.

-UsePerfCounter è il timer predefinito per la traccia degli eventi.

-UseSystemTime
Registra l'ora di sistema, anziché l'ora dell'orologio del contatore delle prestazioni ad alta risoluzione, con ogni messaggio di traccia. Poiché il timer di sistema ha una risoluzione di 10 millisecondi (rispetto a 100 nanosecondi per l'orologio del contatore delle prestazioni), più eventi possono avere lo stesso tempo di sistema.

-UsePerfCounter è il timer predefinito per la traccia degli eventi.

-? | Guida | -?
Visualizza informazioni sull'utilizzo.

Commenti

I commenti seguenti si applicano a diversi comandi tracelog.

Errori di sintassi

Tracelog non visualizza errori per tutte le combinazioni di sintassi non corrette, ad esempio quando si tenta di aggiornare un'impostazione che non può essere modificata. Ignora invece le parti non valide del comando e visualizza un messaggio di operazione riuscita.

Logger di sistema

Windows usa sessioni di traccia per molti scopi, alcune delle quali sono fondamentali per il corretto funzionamento. Non arrestare alcuna sessione di traccia che non è stata avviata.

Enumguid

Per determinare se un comando tracelog -start o tracelog -enable ha avuto esito positivo, usare un comando tracelog -enumguid per determinare se i provider sono stati abilitati e quindi usare un comando tracelog -l (List) per esaminare le proprietà della sessione di traccia.

Sessioni di log e in tempo reale

Una sessione di traccia può essere sia una sessione di traccia in tempo reale che una sessione del log di traccia. Se si includono i parametri -rt (in tempo reale) e -f (sessione di log) nello stesso comando, il sistema invia il contenuto del buffer sia al log che a un consumer di traccia. Tuttavia, prima di aggiungere il recapito dei messaggi in tempo reale a una sessione del log di traccia, i buffer devono essere scaricati usando il comando tracelog -flush .

Se si avvia una sessione in tempo reale (-rt) e quindi si esegue l'aggiornamento a una sessione di log (-f), tutti i nuovi messaggi di traccia vengono inviati solo al file di log. Per aggiungere un file di log a una sessione in tempo reale, usare sia -rt che -f nel comando tracelog -update.

Se si avvia una sessione di log (-f), è possibile eseguire l'aggiornamento a una sessione in tempo reale (-rt), ma i messaggi continuano a essere inviati al log oltre al consumer di traccia. Non è possibile eliminare il log dalla sessione aggiornando.

Per visualizzare o salvare i messaggi di traccia da una sessione solo in tempo reale, è anche possibile usare un consumer di traccia, ad esempio Tracefmt o TraceView, che è sia un controller di traccia (ad esempio Tracelog) che un consumer di traccia. Quando si usa Tracefmt, assicurarsi di includere il parametro -rt nel comando Tracefmt.

Flag e livelli

La maggior parte dei provider di traccia non genera messaggi di traccia a meno che il flag o il livello non sia impostato su un determinato valore. I provider usano flag o livelli per controllare ciò che viene tracciato. Se il file di log di traccia eventi è vuoto, esaminare i flag e i livelli nel provider di traccia.

Per assicurarsi che i messaggi di traccia vengano sempre generati, completare i passaggi seguenti:

  1. Impostare il parametro flags su 0xFFFFFFFF per abilitare tutte le impostazioni del flag.

  2. Impostare il parametro levels su 255 per abilitare tutte le impostazioni di livello.

Parametro -eflag

Tracelog ha un parametro -eflag (flag estesi) progettato per abilitare flag aggiuntivi per la sessione di traccia del logger del kernel NT, in particolare, i flag per abilitare la traccia di eventi DPC, ISR e cambio di contesto. Poiché il comando tracelog -start include ora il parametro -dpcisr , l'uso del parametro -eflag non è più necessario e non è consigliato.

Parametri obsoleti

Nelle versioni precedenti di Tracelog il comando tracelog -start supporta la combinazione di parametri -rt b . Questa combinazione è stata sostituita dal parametro -buffering e non è più valida.

Il parametro -x è stato rimosso perché l'arresto di tutte le sessioni di traccia può causare instabilità del sistema.

Il parametro -disableex è stato rimosso. Usare invece -disable .

NT Kernel Logger

Per avviare una sessione di traccia con NT Kernel Logger, omettere il nome della sessione dal comando tracelog -start e non usare il parametro -guid per specificare un file GUID del provider. "NT Kernel Logger" è il nome di sessione predefinito.

Se il nome della sessione viene omesso o è "NT Kernel Logger", il sistema avvia una sessione di traccia NT Kernel Logger, anche se si usa un parametro -guid per specificare un GUID diverso da SystemTraceControlGUID, il GUID del controllo per la sessione di traccia NT Kernel Logger. Se si specifica un GUID diverso, il sistema restituisce un errore ("System Logger non accetta guid dell'applicazione"), ma avvia comunque una sessione di traccia del logger del kernel NT.

Per impostazione predefinita, quando Tracelog avvia una sessione di traccia NT Kernel Logger, abilita tracce di processo, thread, I/O disco fisico e eventi TCP/IP, ma è possibile usare i parametri per disabilitare la traccia di questi eventi e abilitare la traccia di altri eventi.

Eventi DPC/ISR

Poiché Tracerpt prevede un'ora di clock del contatore delle prestazioni di sistema come timestamp, usare il parametro Tracelog -UsePerfCounter quando si avvia la sessione di traccia.

Poiché gli eventi DPC e ISR vengono raccolti da strumentazione speciale, non vengono visualizzati nella riga Di traccia abilitata della tabella visualizzata da Tracelog per confermare un comando.

Per altre informazioni, vedere Esempio 15: Misurazione del tempo DPC/ISR.