Compartir a través de


Sintaxis del comando Tracelog

Tracelog tiene comandos (o acciones) que inician, detienen y controlan una sesión de seguimiento.

Nota

Para controlar una sesión de seguimiento, debe ser miembro del grupo Usuarios del registro de rendimiento o del grupo Administradores del equipo (ejecutar como administrador).

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

Parámetros

Para obtener información sobre los parámetros de Tracelog, vea [actions] [options].

[acciones]

-addautologger [LoggerName]
Configura las entradas del Registro para una sesión de registrador automático. Una sesión de registrador automático es el método preferido para realizar el seguimiento de la actividad de un controlador u otro proveedor de seguimiento durante el arranque del sistema. Debe especificar el GUID de sesión mediante la opción -sessionguid . El comando tracelog -addautologger toma las mismas opciones que el comando Tracelog -start .

-capturestate [LoggerName]
Solicita a todos los proveedores habilitados para Que LoggerName registre la información de estado. Las palabras clave habilitadas ayudan a determinar el tipo de información que se registra.

-disable [LoggerName]
Deshabilita los proveedores de seguimiento especificados. Cuando un proveedor está deshabilitado, continúa ejecutándose, pero deja de generar mensajes de seguimiento.

El comando tracelog -stop deshabilita los proveedores de seguimiento antes de detener la sesión. No es necesario deshabilitar los proveedores antes de detener una sesión de seguimiento. Sin embargo, puede usar el comando tracelog -disable para deshabilitar los proveedores seleccionados sin detener una sesión de seguimiento.

Deshabilitar impide que el proveedor de seguimiento envíe mensajes de seguimiento a los búferes de sesión de seguimiento, pero no vacía los búferes ni detiene la sesión de seguimiento. Use un comando tracelog -flush para vaciar los búferes y un comando tracelog -stop o tracelog -x (stop all) para detener la sesión de seguimiento.

Tracelog usa la función EnableTrace para implementar un comando tracelog -disable . Para obtener más información sobre esta función, consulte la documentación de Microsoft Windows SDK.

-enable [LoggerName]
Habilita uno o varios proveedores de seguimiento para la sesión de seguimiento LoggerName .

Cuando se habilita un proveedor, el proveedor genera mensajes de seguimiento y los envía a los búferes de una sesión de seguimiento. Si el proveedor no se está ejecutando (o no se carga) al habilitarlo, el sistema registra previamente el proveedor, es decir, reserva espacio para el proveedor en la base de datos de registro ETW y guarda el comando enable. Cuando el proveedor se inicia y se registra realmente, recibe el comando enable guardado y comienza a enviar mensajes de seguimiento a la sesión.

El comando tracelog -start habilita todos los proveedores especificados por el parámetro -guid opcional en el comando tracelog -start . No es necesario enviar un comando tracelog -enable independiente.

Puede usar un comando tracelog -enable para agregar un proveedor a una sesión de seguimiento en ejecución, cambiar las marcas y el nivel de un proveedor mientras está realizando el seguimiento o volver a habilitar un proveedor que deshabilitó mediante un comando tracelog -disable .

Al usar el comando tracelog -enable , primero envíe un comando tracelog -start para iniciar la sesión de seguimiento y, a continuación, envíe el comando tracelog -enable para habilitar los proveedores.

Puede habilitar un proveedor en ejecución repetidamente sin deshabilitarlo. (Puede hacerlo para cambiar las marcas y los niveles).

Las marcas de seguimiento y el nivel de seguimiento que especifique con los parámetros -flag y -level se pasan a todos los proveedores de seguimiento representados por el parámetro -guid . Para especificar diferentes marcas y niveles para cada proveedor de seguimiento, envíe un comando tracelog -enable independiente para cada proveedor, con su propia marca y configuración de nivel.

Si habilita cualquiera de las marcas de registrador de kernel de NT (como -noprocess, -nothread, -fio o -cm) mientras se ejecuta una sesión de seguimiento del registrador global, la sesión del registrador global se convierte en una sesión de seguimiento del registrador de kernel de NT. Esta característica está diseñada para realizar un seguimiento de los eventos del kernel durante el proceso de arranque.

-enableex [LoggerName]
Idéntico a -enable. Esta opción se puede quitar en versiones futuras de Tracelog.

-enumguid
Enumera (o listas) proveedores en el sistema que están registrados con seguimiento de eventos para Windows (ETW). Para obtener una descripción de la pantalla Enumguid, vea Tracelog Enumguid Display.

Tracelog usa la función EnumerateTraceGuids para implementar un comando tracelog -enumguid . Para obtener más información sobre esta función, consulte la documentación de Microsoft Windows SDK.

-enumguidex [#guid]
Enumera (o listas) proveedores en el sistema que están registrados con seguimiento de eventos para Windows (ETW). Para obtener una descripción de la pantalla EnumguidEx, vea Tracelog Enumguid Display.

Tracelog usa la función EnumerateTraceGuidsEx para implementar un comando tracelog -enumguidex . Para obtener más información sobre esta función, consulte la documentación de Microsoft Windows SDK.

-flush [LoggerName]
Vacía los búferes activos de la sesión de seguimiento LoggerName . Si no se especifica LoggerName , Tracelog vacía los búferes de la sesión de seguimiento del registrador de kernel nt.

Este vaciado forzado se suma a los vaciados que se producen automáticamente cada vez que un búfer de mensajes de seguimiento está lleno y cuando se detiene la sesión de seguimiento, y además de los vaciados que activa el temporizador de vaciado (-ft).

Al vaciar los búferes de una sesión de seguimiento, los eventos de los búferes se entregan inmediatamente al registro de seguimiento o al consumidor de seguimiento.

El vaciado no deshabilita el proveedor de seguimiento ni redirige los mensajes de seguimiento. Después de vaciar los búferes, el proveedor de seguimiento continúa escribiendo eventos en los búferes.

Tracelog usa la función FlushTrace para implementar un comando tracelog -flush . Para obtener más información sobre esta función, consulte la documentación de Microsoft Windows SDK.

Puede usar el comando tracelog -flush con la opción -fLogfile para vaciar los mensajes de seguimiento que están actualmente en el búfer en el archivo de registro de seguimiento especificado (.etl). Este parámetro solo es válido para las sesiones de seguimiento almacenadas en búfer (-buffering); para otros tipos de sesión de seguimiento, se omite el parámetro -f .

Este vaciado solo afecta al contenido actual del búfer. No redirige los mensajes de seguimiento futuros al registro de seguimiento.

-l [-lp]
Enumera las propiedades de todas las sesiones de seguimiento que se ejecutan en el equipo.

Si pasa la opción -lp , Tracelog también mostrará todos los proveedores habilitados para cada sesión.

-q [LoggerName] [-lp]
Enumera (consultas) las propiedades de la sesión de seguimiento especificada. Si no especifica LoggerName, Tracelog consulta la sesión de seguimiento del registrador de kernel nt.

Si pasa la opción -lp , Tracelog también mostrará todos los proveedores habilitados para la sesión.

-remove GlobalLogger
Quita y reinicializa los valores del Registro para una sesión de seguimiento del registrador global. Establece el valor de la entrada Start en 0 (no se inicia) y elimina las demás entradas del Registro. El comando tracelog -remove solo funciona para las sesiones de seguimiento del registrador global. Todos los demás valores de nombre de sesión no son válidos.

El comando tracelog -remove no es necesario. Sin embargo, si no establece el valor de la entrada Inicio en 0, se inicia una sesión del registrador global cada vez que reinicie el sistema.

Si no usa un comando tracelog -remove , las opciones de la sesión anterior siguen en el registro y se usarán para la nueva sesión a menos que envíe un comando tracelog -start con valores diferentes para las mismas opciones.

-start [LoggerName]
Inicia una sesión de seguimiento con loggerName que seleccione para representar la sesión de seguimiento.

Use GlobalLogger como LoggerName para especificar una sesión de seguimiento del registrador global. La sesión se inicia al reiniciar el equipo.

LoggerName puede ser cualquier nombre que cumpla las directrices de nomenclatura de Windows, de hasta 1024 caracteres. Si el nombre incluye espacios, escriba el nombre entre comillas. Tracelog no distingue mayúsculas de minúsculas.

El valor predeterminado es "Registrador de kernel nt". Si omite este parámetro, Tracelog inicia una sesión de seguimiento del registrador de kernel de NT y declara un error si usa el parámetro -guid para especificar un proveedor de seguimiento diferente.

-stop [LoggerName]
Deshabilita los proveedores en la sesión de seguimiento especificada y finaliza la sesión.

El comando tracelog -stop deshabilita los proveedores de seguimiento y detiene la sesión de seguimiento. Un comando tracelog -disable solo deshabilita los proveedores de seguimiento.

Si inicia una sesión de registrador global en tiempo de arranque que realiza un seguimiento de los eventos del kernel, debe usar el registro de seguimiento de comandos -stop "NT Kernel Logger" o tracelog -stop GlobalLogger para detenerlo. Cuando se usa cualquiera de los comandos para detener una sesión de seguimiento de la sesión de seguimiento del registrador global , Tracelog detiene el proveedor, pero no restablece los valores de las entradas del Registro. Para restablecer los valores de las entradas del Registro de registrador global, use tracelog -remove.

-systemrundown [LoggerName]
Solicita a SystemTraceProvider que registre los eventos de detención dirigidos a la sesión de LoggerName . Consulte Configuring and Starting a SystemTraceProvider Session (Configuración e inicio de una sesión de SystemTraceProvider ) para obtener información sobre cómo iniciar una sesión de seguimiento.

Este comando solo está disponible en Windows 8 y versiones posteriores de Windows.

-timeout value (Valor de tiempo de espera)
Especifica el valor de tiempo de espera, en milisegundos (ms), que se usará al habilitar proveedores con el comando tracelog -enable . El tiempo de espera predeterminado es 0.

Si el valor de tiempo de espera es 0, Tracelog llamará a la devolución de llamada de habilitación de cada proveedor y se devolverá inmediatamente, sin esperar a que se complete la devolución de llamada.

Para habilitar los proveedores de forma sincrónica, especifique un valor de tiempo de espera. Si especifica un valor de tiempo de espera, Tracelog esperará hasta que se cierre la devolución de llamada de habilitación de cada proveedor o expire el tiempo de espera.

Al habilitar varios proveedores a la vez, el tiempo de espera se aplica a cada uno secuencialmente.

-update [LoggerName]
El comando tracelog -update cambia las propiedades de una sesión de seguimiento mientras se ejecuta.

En un comando tracelog -update , el parámetro -guid solo es válido al actualizar una sesión de seguimiento privada (-um). Para agregar o quitar proveedores de una sesión de seguimiento estándar mientras se ejecuta la sesión, use los comandos tracelog -enable y tracelog -disable .

Si inicia una sesión de registro de seguimiento (-f), puede actualizar a una sesión en tiempo real (-rt), pero los mensajes se siguen enviando al registro de seguimiento además del consumidor de seguimiento. No se puede eliminar el registro de la sesión mediante la actualización. Sin embargo, para poder agregar la entrega de mensajes en tiempo real a una sesión de registro de seguimiento, primero debe usar el comando tracelog -flush para vaciar los búferes.

Si inicia una sesión en tiempo real (-rt) y, a continuación, actualiza a una sesión de registro de seguimiento (-f), los nuevos mensajes de seguimiento ya no se envían directamente al consumidor de seguimiento; solo se envían al registro de seguimiento. Para agregar un registro de seguimiento a una sesión de seguimiento en tiempo real, use -rt y -f en el comando tracelog -update . Para poder agregar la entrega de mensajes en tiempo real a una sesión de registro de seguimiento, primero debe usar el comando tracelog -flush para vaciar los búferes.

No se puede actualizar una sesión de seguimiento del registrador global.

Para una sesión de seguimiento privada (modo de usuario), solo puede actualizar el nombre del archivo de registro (-f) y el valor del temporizador de vaciado (-ft).

Para actualizar las marcas y los niveles, use el comando tracelog -enable para volver a habilitar el proveedor con nuevas marcas o niveles.

Tracelog usa la función ControlTrace para implementar un comando tracelog -update . Para obtener más información sobre esta función, consulte la documentación de Microsoft Windows SDK.

[opciones]

-addtotriagedump

Nota

Esta opción no se debe usar, excepto cuando es posible que tenga que ver los eventos de un volcado de kernel mediante el depurador.

Especifica que los búferes activos de la sesión están disponibles para agregarse a un volcado de memoria de evaluación de prioridades. Los volcados de evaluación de prioridades tienen un tamaño limitado y, si los búferes de la sesión hacen que el volcado supere su tamaño máximo, los búferes se quedarán fuera.

-Anexar
Anexa los mensajes de seguimiento al archivo de registro de seguimiento de eventos (.etl) especificado por el parámetro -f . El valor predeterminado es crear un nuevo archivo.

Este parámetro solo es válido en los comandos que incluyen -f y no incluyen -rt o -cir.

-bBufferSize
Especifica el tamaño, en KB, de cada búfer asignado para la sesión de seguimiento. El valor predeterminado viene determinado por el número de procesadores, la cantidad de memoria física y el sistema operativo en uso.

-btn
Especifica el número (n) de búferes que se van a rellenar antes de empezar a vaciarlos. Esta opción está disponible a partir de Windows 8.1.

-Búfer
Inicia una sesión de seguimiento almacenada en búfer.

En una sesión de seguimiento almacenada en búfer, los mensajes de seguimiento se conservan en los búferes de seguimiento. No se envían a un consumidor de seguimiento ni se registran en un registro de seguimiento.

-cirMaxFileSize
Especifica el registro circular (al final del archivo, registrar nuevos mensajes sobre los mensajes más antiguos) en el archivo de registro de seguimiento de eventos (.etl). MaxFileSize especifica el tamaño máximo del archivo en MB. Sin un valor MaxFileSize , este parámetro se omite.

El valor predeterminado es el registro secuencial sin límite de tamaño de archivo.

-Cm
Habilita el seguimiento del acceso del Registro (Configuration Manager). Este parámetro solo es válido para una sesión de seguimiento del registrador de kernel nt.

-critsec
Realiza un seguimiento de los eventos de sección críticos de un proceso en una sesión de seguimiento privada. Puede iniciar un registrador de procesos de sección crítico en cualquier proceso en modo de usuario, incluso uno que no esté instrumentado para el seguimiento.

Use -pids para especificar el proceso. No use -guid con -critsec. El sistema define un GUID personalizado (CritSecGuid) para los seguimientos de sección críticos. No puede usar -heap y -critsec en el mismo comando.

-dpcisr
Habilita el seguimiento de llamadas a procedimientos diferidos (DPC), solicitudes de servicio de interrupción (ISR), eventos de carga de imágenes (-img) y modificadores de contexto en el kernel. Este parámetro solo es válido para una sesión de seguimiento del registrador de kernel nt.

Esta opción solo se admite en la versión de Tracelog incluida en el Kit de controladores de Windows para Windows Vista y versiones posteriores del WDK. La opción –dpcisr no se puede usar con la opción -eflag .

Use el parámetro -UsePerfCounter con -dpcisr. Este parámetro, que proporciona una marca de tiempo única para cada evento, es necesaria para Tracerpt, una herramienta que se usa para dar formato e interpretar eventos DPC/ISR. Para obtener información sobre cómo interpretar y dar formato a estos eventos, vea "Comentarios", a continuación.

-eflagn [flag...]
Permite eventos de kernel que usan marcas adicionales para las sesiones de seguimiento del registrador de kernel de NT, en particular, las marcas para habilitar el seguimiento de eventos de modificador de contexto, ISR y DPC. La opción -eflag no se puede usar con la opción –dpcisr .

-enablepropertyn
Consulte la descripción de EnabledProperties en la estructura EnableParameters que se pasa como parámetro a EnableTraceEx2 para obtener descripciones y valores admitidos.

-EventIdFilter {-in-out|} *** n **** id1 id2 ...
Especifica un filtro de identificador de evento con n identificadores de evento (se permiten un máximo de 64 identificadores de evento). Esta opción está disponible a partir de Windows 8.1.

-ExeFilterExecutable_file [;Executable_file ...]
Especifica los nombres de los archivos ejecutables que se van a filtrar. Puede especificar una lista de archivos. Separe los nombres de los archivos mediante punto y coma. Se excluyen los archivos que no aparecen en la lista. Esta opción está disponible a partir de Windows 8.1.

-f [LogFile]
Inicia una sesión de registro de seguimiento. LogFile especifica la ruta de acceso (opcional) y el nombre de archivo del archivo de registro de seguimiento de eventos (.etl). El valor predeterminado es C:\LogFile.etl. Para colocar el archivo en un equipo remoto, incluya el nombre del equipo o la dirección IP en la ruta de acceso.

Si usa -rt con -f, los mensajes de seguimiento se envían al consumidor y a un archivo de registro de seguimiento de eventos. No puede usar -rt o -f con -buffering.

-Fio
Habilita el seguimiento de eventos de E/S de archivos. Este parámetro solo es válido para una sesión de seguimiento del registrador de kernel nt.

-flagFlag

Nota

Las marcas se han reemplazado por palabras clave. Use -matchanykw a menos que esté habilitando un proveedor de WPP.

Especifica las marcas de seguimiento para los proveedores de la sesión de seguimiento. El valor de marca determina qué eventos genera el proveedor de seguimiento.

Marca representa un valor de marca definido en el proveedor de seguimiento, en formato decimal o hexadecimal. El valor predeterminado es 0. Los valores de 0x01000000 a través de 0xFF000000 están reservados para uso futuro.

Cada proveedor de seguimiento define el significado del valor de marca de forma independiente. Normalmente, las marcas representan niveles de informes cada vez más detallados.

El valor de marca especificado en un comando tracelog -start se aplica a todos los proveedores de seguimiento de la sesión de seguimiento. Para establecer marcas diferentes para cada proveedor de seguimiento, use tracelog -enable.

-ftFlushTime
Especifica con qué frecuencia, en segundos, se vacían los búferes de mensajes de seguimiento. El tiempo mínimo de vaciado es de 1 segundo. El valor predeterminado es 0 (sin vaciado forzado).

Este vaciado forzado se suma a los vaciados que se producen automáticamente cada vez que un búfer de mensajes de seguimiento está lleno y cuando se detiene una sesión de seguimiento.

Consulte el comando tracelog -flush.

-guid {#GUID | archivo | *nombre}
Habilita los proveedores de seguimiento especificados.

Si se especifica un archivo, Tracelog habilitará el seguimiento para todos los proveedores especificados en el archivo. El archivo debe tener el formato siguiente:

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

Si se especifica un GUID de proveedor, el GUID debe estar precedido por un signo de número (#).

Si se especifica un nombre de proveedor, el nombre se debe precedrá mediante un asterisco (*). A continuación, el nombre se convertirá en un GUID con el mismo algoritmo que . Origen del evento de NET. A continuación, este GUID se usará para habilitar el proveedor.

Si omite este parámetro, ningún proveedor de seguimiento enviará mensajes a la sesión de seguimiento. Sin embargo, después de iniciar la sesión de seguimiento, puede usar un comando tracelog -enable para habilitar uno o varios proveedores de seguimiento para la sesión.

-Gs
Genera un número de secuencia global para cada mensaje de seguimiento.

Los números de secuencia globales son únicos para todas las sesiones de seguimiento del equipo. De forma predeterminada, no hay números de secuencia.

Este parámetro no es válido con la sesión de seguimiento del registrador de kernel nt.

-Montón
Realiza un seguimiento de los eventos de memoria del montón para un proceso en modo de usuario. Puede iniciar un registrador de procesos de montón en cualquier proceso en modo de usuario, incluso uno que no esté instrumentado para el seguimiento.

Use -pids para especificar el proceso. No use -guid con -heap. El sistema define un GUID personalizado (HeapGuid) para los seguimientos de memoria del montón. No puede usar -heap y -critsec en el mismo comando.

-Hf
Habilita el seguimiento de errores de páginas difíciles (errores de página que requieren acceso al disco para resolverse). Este parámetro solo es válido para una sesión de seguimiento del registrador de kernel nt.

-hybridshutdown {stop|persist}
Controla el comportamiento del registrador de apagado híbrido. Esta opción está disponible a partir de Windows 8.

stop hará que la sesión se detenga cuando el sistema realice un apagado híbrido. persist hará que la sesión continúe después de que el sistema se inicie de nuevo desde un apagado híbrido.

-Img
Habilita el seguimiento de eventos de carga de imágenes. Este parámetro solo es válido para una sesión de seguimiento del registrador de kernel nt.

-Independiente

Nota

El modo independiente debe estar habilitado en cada sesión de seguimiento.

Habilita el modo independiente en la sesión de seguimiento. El modo independiente permite a la sesión recopilar eventos que se han quitado otras sesiones en modo no independientes. Esta opción está disponible a partir de Windows 8.1.

-Kb
Use kilobytes (KB) para el tamaño del archivo de registro. El valor predeterminado es megabytes (MB).

-Kd
Redirige los mensajes de seguimiento a KD o Windbg, lo que esté asociado. Este parámetro también establece el tamaño del búfer de seguimiento en 3 KB, el tamaño máximo del búfer para el depurador y omite los parámetros -b del comando.

El depurador debe ejecutarse al enviar un comando Tracelog con -kd. De lo contrario, Tracelog deja de responder.

Para obtener información sobre cómo mostrar mensajes de seguimiento en un depurador de kernel, vea Comentarios.

-Lbr *EventName[**+EventName+...]:Filter[,*Filter,...]
Configure el seguimiento de LBR en eventos de kernel.

Use la Ayuda de -eflag para obtener una lista de eventos de kernel.

-leveln
Especifica el nivel de seguimiento de los proveedores de la sesión de seguimiento. El nivel determina qué eventos genera el proveedor de seguimiento.

Level representa un valor de nivel en formato decimal o hexadecimal. El valor predeterminado es 0.

Cada proveedor de seguimiento define el significado del valor de nivel de forma independiente. Normalmente, el nivel de seguimiento representa la gravedad del evento (información, advertencia o error).

El valor de nivel especificado en un comando tracelog -start se aplica a todos los proveedores de seguimiento de la sesión de seguimiento. Para establecer distintos niveles para cada proveedor de seguimiento, use tracelog -enable.

-lowcapacity

Nota

Esta opción no se debe usar a menos que sea necesario para reducir los costos de memoria. El uso de esta opción hace que cada evento sea más lento para registrar.

Usa un único búfer a la vez para recopilar eventos generados en varios procesadores. Esta opción selecciona el modo de registro EVENT_TRACE_NO_PER_PROCESSOR_BUFFERING. Para obtener más información, vea Windows SDK.

-ls
Genera un número de secuencia local para cada mensaje de seguimiento.

Los números de secuencia local son únicos dentro de una sesión de seguimiento. De forma predeterminada, no hay números de secuencia.

Este parámetro no es válido con la sesión de seguimiento del registrador de kernel nt.

-maxNumberOfBuffers
Especifica el número máximo de búferes que Tracelog asigna para la sesión de seguimiento. El valor predeterminado viene determinado por el número de procesadores, la cantidad de memoria física y el sistema operativo en uso.

-matchallkwn
Especifica la máscara de bits MatchAllKeyWord que restringe la categoría de eventos que escribe el proveedor y se usa junto con la opción -matchanykw .

Esta máscara de bits es opcional. Si la palabra clave del evento cumple la condición especificada en la opción -matchanykw , el proveedor escribirá el evento solo si todos los bits de esta máscara existen en la palabra clave del evento. Esta máscara no se usa si -matchanykw es cero.

Tracelog pasa el valor n en el parámetro MatchAllKeyWord de la llamada de función EnableTraceEx2 . Consulte Windows SDK para obtener más información.

-matchanykwn
Especifica la máscara de bits MatchAnyKeyword que determina la categoría de eventos que escribe el proveedor.

El proveedor escribe el evento si alguno de los bits de palabra clave del evento coincide con cualquiera de los bits establecidos en esta máscara. Tracelog pasa el valor n en el parámetro MatchAnyKeyWord de la llamada de función EnableTraceEx2 . Consulte Windows SDK para obtener más información.

-minNumberOfBuffers
Especifica el número de búferes asignados inicialmente para almacenar mensajes de seguimiento. Cuando los búferes están llenos, Tracelog asigna más búferes hasta que alcanza el máximo. El valor predeterminado viene determinado por el número de procesadores, la cantidad de memoria física y el sistema operativo en uso.

-newfileMaxFileSize
Crea un nuevo archivo de registro de seguimiento de eventos (.etl) cada vez que el archivo existente alcanza MaxFileSize. MaxFileSize especifica el tamaño máximo de cada archivo de registro en MB. Sin un valor MaxFileSize , este parámetro se omite.

Al usar -newfile, también debe usar el parámetro -fLogFile y el valor de LogFile debe ser un nombre que incluya los caracteres %d para indicar un patrón decimal; por ejemplo, trace%d.etl. De lo contrario, se produce un error en el comando con ERROR_INVALID_NAME. Windows incrementa el valor decimal en el nombre de archivo cada vez que crea un nuevo archivo.

Este parámetro no es válido con la asignación previa (-prealloc), el registro circular (-cir), con la sesión del registrador de kernel de NT o para sesiones de seguimiento privadas.

-nodisk
Deshabilita el seguimiento de eventos de E/S de disco físico. Este parámetro solo es válido para una sesión de seguimiento del registrador de kernel nt.

-nonet
Deshabilita el seguimiento de eventos TCP/IP y User Datagram Protocol (UDP). Este parámetro solo es válido para una sesión de seguimiento del registrador de kernel nt.

-noprocess
Deshabilita el seguimiento del inicio y el final de cada proceso. Este parámetro solo es válido para una sesión de seguimiento del registrador de kernel nt.

-nothread
Deshabilita el seguimiento del inicio y el final de cada subproceso. Este parámetro solo es válido para una sesión de seguimiento del registrador de kernel nt.

-Paginado
Usa memoria paginable para los búferes de mensajes de seguimiento. De forma predeterminada, el seguimiento de eventos usa memoria no paginable para los búferes.

Los proveedores que requieren memoria no paginable no podrán registrar eventos en una sesión que use memoria paginable.

-pids#PIDs PID [PID...]
Especifica los procesos en modo de usuario en los que se ejecuta una sesión de seguimiento de sección crítica o memoria del montón. Válido solo con -montón o -critsec.

#PIDs especifica el número de identificadores de proceso enumerados con este parámetro. PID representa un identificador de proceso. Puede especificar hasta diez PID con este parámetro.

Enumere varios PID cuando el proveedor se ejecuta en más de un proceso, como cuando un único programa crea varios procesos.

-PidFilternpid1 pid2 ...
Especifica un filtro Pid con n Pids (máximo 8 permitido). Esta opción está disponible a partir de Windows 8.1.

-Pf
Habilita el seguimiento de todos los errores de página. Este parámetro solo es válido para una sesión de seguimiento del registrador de kernel nt.

-PkgIdFilterPackage Full Name [ **;**Package Full Name...]
Especifica un filtro de identificador de paquete. Puede especificar una lista de archivos de paquete. Separe los nombres de los archivos con punto y coma.

-PkgAppIdFilterPRAID [**;**PRAID...]
Especifica un filtro de identificador de aplicación relativo al paquete (PRAID). PraID es el identificador único de la aplicación dentro del paquete. Puede especificar más de un PRAID. Separe los identificadores mediante punto y coma. Esta opción está disponible para las aplicaciones para UWP a partir de Windows 8.1.

-PmcCtr1,Ctr2,...:Name+Name+...
Configura el muestreo del contador del monitor de rendimiento (PMC) en los eventos de kernel especificados. Esta opción está disponible a partir de Windows 8.

Use la Ayuda -ProfileSource para obtener una lista de contadores. Use -eflag Help para obtener una lista de eventos de kernel.

-prealloc
Reserva espacio para el archivo .etl antes de iniciar la sesión.

Este parámetro requiere -seq o -cir con MaxFileSize. No es válido con -newfile.

-ProfileSourcesrc
Configure el origen de generación de perfiles que se va a usar. Para obtener una lista de orígenes, use el comando tracelog -ProfileSource Help. Esta opción está disponible a partir de Windows 8.

Esta opción solo está disponible en Windows 8 y versiones posteriores de Windows.

-Rt
Inicia una sesión de seguimiento en tiempo real. (Una sesión de registro de seguimiento (-f) es la predeterminada).

Si usa -rt y -f, los mensajes de seguimiento se envían al consumidor de seguimiento y a un archivo de registro de seguimiento de eventos. No puede usar -rt o -f con -buffering. Para obtener más información, consulte Sesión de seguimiento.

-Seguro
Habilita el seguimiento en modo seguro. Esta opción selecciona el modo de registro de EVENT_TRACE_SECURE_MODE. Restringe quién puede registrar eventos en la sesión a aquellos con permiso de TRACELOG_LOG_EVENT.

-sessionguid
Especifica el valor del registro guid de sesión del registrador automático.

-SetProfIntn **** src

Importante

No se recomienda cambiar el intervalo de generación de perfiles.

Configure el intervalo de generación de perfiles (n) para el origen especificado, donde n está en unidades de 100ns. El valor predeterminado es 10000 (que equivale a 1 ms). Esta opción está disponible a partir de Windows 8.

-seqMaxFileSize
Especifica el registro secuencial (al final del archivo, detener eventos de grabación) en el archivo del registro de seguimiento de eventos (.etl). MaxFileSize especifica el tamaño máximo del archivo en MB. Sin un valor MaxFileSize , este parámetro se omite.

El registro secuencial es el valor predeterminado, pero puede usar este parámetro para establecer el tamaño máximo de archivo o para usar -prealloc. Sin este parámetro, no hay ningún límite de tamaño de archivo.

-sourceguidSourceGuid
Especifica el GUID pasado como parámetro SourceId a las funciones EnableTraceEx o EnableTraceEx2 . SourceId identifica la sesión que habilitó el proveedor.

-stackwalk [Eventos]
Especifica los eventos de kernel en los que se van a recopilar pilas. Use -eflag Help para obtener una lista de eventos de kernel. Este parámetro solo es válido para las sesiones de seguimiento del registrador de kernel de NT o del registrador del sistema.

-StackWalkFilter {-in-out|}nid1 id2 ...
Especifica un filtro de identificador de evento con n identificadores de evento (se permiten 64 identificadores de evento máximo). Esta opción está disponible a partir de Windows 8.1.

-systemlogger
El registrador puede recibir eventos SystemTraceProvider. Consulte Configuración e inicio de una sesión de SystemTraceProvider. Esta opción está disponible a partir de Windows 8.

-um
Especifica una sesión de seguimiento privada Este parámetro es necesario para una sesión de seguimiento privada.

-UseCPUCycle
Usa la frecuencia del procesador (también denominada "tics de CPU") para medir el tiempo de cada mensaje de seguimiento.

Este temporizador proporciona la resolución más alta posible, pero es tan sensible que es propenso a errores, especialmente en sistemas administrados por energía y equipos multiprocesador. Por ejemplo, si especifica este temporizador en el equipo que tiene un procesador Arm, podría dar lugar a eventos desordenados. En su lugar, se recomienda -UsePerfCounter para el seguimiento de alta resolución.

-UsePerfCounter es el temporizador predeterminado para el seguimiento de eventos.

-UsePerfCounter
Registra el valor del reloj del contador de alto rendimiento de alta resolución, en lugar de la hora del sistema de menor resolución, con cada mensaje de seguimiento.

Dado que el reloj del contador de rendimiento cuenta aproximadamente en unidades de 100 nanosegundos, proporciona una marca de tiempo única para cada evento.

-UsePerfCounter es el temporizador predeterminado para el seguimiento de eventos.

-UseSystemTime
Registra la hora del sistema, en lugar de la hora del reloj del contador de alto rendimiento de alta resolución, con cada mensaje de seguimiento. Dado que el temporizador del sistema tiene una resolución de 10 milisegundos (en comparación con 100 nanosegundos para el reloj del contador de rendimiento), varios eventos pueden tener la misma hora del sistema.

-UsePerfCounter es el temporizador predeterminado para el seguimiento de eventos.

-? | help | -?
Muestra información de uso.

Comentarios

Los siguientes comentarios se aplican a varios de los comandos tracelog.

Errores de sintaxis

Tracelog no muestra errores para todas las combinaciones de sintaxis incorrectas, como cuando se intenta actualizar una configuración que no se puede cambiar. En su lugar, omite las partes no válidas del comando y muestra un mensaje de operación correcta.

Registradores del sistema

Windows usa sesiones de seguimiento para muchos propósitos, algunos de los cuales son críticos para el funcionamiento adecuado. No detenga ninguna sesión de seguimiento que no haya iniciado.

Enumeración

Para determinar si un comando tracelog -start o tracelog -enable se realizó correctamente, use un comando tracelog -enumguid para determinar si los proveedores estaban habilitados y, a continuación, use un comando tracelog -l (Lista) para examinar las propiedades de la sesión de seguimiento.

Sesiones de registro y en tiempo real

Una sesión de seguimiento puede ser una sesión de seguimiento en tiempo real y una sesión de registro de seguimiento. Si incluye los parámetros -rt (en tiempo real) y -f (sesión de registro) en el mismo comando, el sistema envía el contenido del búfer tanto al registro como a un consumidor de seguimiento. Sin embargo, para poder agregar la entrega de mensajes en tiempo real a una sesión de registro de seguimiento, los búferes deben vaciarse mediante el comando tracelog -flush .

Si inicia una sesión en tiempo real (-rt) y, a continuación, se actualiza a una sesión de registro (-f), los mensajes de seguimiento nuevos solo se envían al archivo de registro. Para agregar un archivo de registro a una sesión en tiempo real, use -rt y -f en el comando tracelog -update .

Si inicia una sesión de registro (-f), puede actualizar a una sesión en tiempo real (-rt), pero los mensajes se siguen enviando al registro además del consumidor de seguimiento. No se puede eliminar el registro de la sesión mediante la actualización.

Para mostrar o guardar mensajes de seguimiento desde una sesión de solo tiempo real, también puede usar un consumidor de seguimiento, como Tracefmt, o usar TraceView, que es un controlador de seguimiento (como Tracelog) y un consumidor de seguimiento. Al usar Tracefmt, asegúrese de incluir el parámetro -rt en el comando Tracefmt.

Marcas y niveles

La mayoría de los proveedores de seguimiento no generan ningún mensaje de seguimiento a menos que la marca o el nivel se establezca en un valor determinado. Los proveedores usan marcas o niveles para controlar lo que se está rastreando. Si el archivo de registro de seguimiento de eventos está vacío, revise las marcas y los niveles del proveedor de seguimiento.

Para asegurarse de que siempre se generan mensajes de seguimiento, complete los pasos siguientes:

  1. Establezca el parámetro flags en 0xFFFFFFFF para habilitar todos los valores de marca.

  2. Establezca el parámetro levels en 255 para habilitar todos los valores de nivel.

El parámetro -eflag

Tracelog tiene un parámetro -eflag (marcas extendidas) que se diseñó para habilitar marcas adicionales para la sesión de seguimiento del registrador de kernel nt, especialmente, las marcas para habilitar el seguimiento de los eventos de modificador de contexto, ISR y DPC. Dado que el comando tracelog -start ahora incluye el parámetro -dpcisr , el uso del parámetro -eflag ya no es necesario y no se recomienda.

Parámetros obsoletos

En versiones anteriores de Tracelog, el comando tracelog -start admitía la combinación de parámetros -rt b . Esta combinación se ha reemplazado por el parámetro -buffering y ya no es válida.

Se ha quitado el parámetro -x porque detener todas las sesiones de seguimiento puede provocar inestabilidad del sistema.

Se ha quitado el parámetro -disableex . Use -disable en su lugar.

Registrador de kernel nt

Para iniciar una sesión de seguimiento con el registrador de kernel nt, omita el nombre de sesión del comando tracelog -start y no use el parámetro -guid para especificar un archivo GUID del proveedor. "Nt Kernel Logger" es el nombre de sesión predeterminado.

Si se omite el nombre de sesión o es "Registrador de kernel nt", el sistema inicia una sesión de seguimiento del registrador de kernel NT, incluso si usa un parámetro -guid para especificar un GUID distinto de SystemTraceControlGUID, el GUID de control para la sesión de seguimiento del registrador de kernel de NT. Si especifica un GUID diferente, el sistema devuelve un error ("El registrador del sistema no acepta guides de aplicación"), pero sigue iniciando una sesión de seguimiento del registrador de kernel de NT.

De forma predeterminada, cuando Tracelog inicia una sesión de seguimiento del registrador de kernel nt, habilita seguimientos de procesos, subprocesos, E/S de disco físico y eventos TCP/IP, pero puede usar los parámetros para deshabilitar el seguimiento de estos eventos y habilitar el seguimiento de otros eventos.

Eventos DPC/ISR

Dado que Tracerpt espera una hora del reloj del contador de rendimiento del sistema como marca de tiempo, use el parámetro Tracelog -UsePerfCounter al iniciar la sesión de seguimiento.

Dado que la instrumentación especial recopila los eventos DPC e ISR, no aparecen en la fila de seguimiento Habilitado de la tabla que muestra Tracelog para confirmar un comando.

Para obtener más información, vea Ejemplo 15: Medición del tiempo de DPC/ISR.