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 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 rastrear 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 a LoggerName que registren 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 (detener todo) 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 del SDK de Microsoft Windows.
-enable [LoggerName]
Habilita uno o varios proveedores de seguimiento para la sesión de seguimiento de 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 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á trazando o volver a habilitar un proveedor que deshabilitó mediante un comando tracelog -disable .
Al usar el comando tracelog -enable , envíe primero 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 configuración de marca y 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 enumera) 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 del SDK de Microsoft Windows.
-enumguidex [#guid]
Enumera (o enumera) 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 del SDK de Microsoft Windows.
-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 de 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 del SDK de Microsoft Windows.
Puede usar el comando tracelog -flush con la opción -f Logfile para vaciar los mensajes de seguimiento que se encuentran 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 afecta solo 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 enumerará 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 enumerará 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. 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 mediante 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, 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 del kernel 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, a continuación, 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 eventos de kernel, debe usar el comando tracelog -stop "NT Kernel Logger" o tracelog -stop GlobalLogger para detenerlo. Cuando se usa cualquiera de los comandos para detener una 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 ejecución dirigidos a la sesión de LoggerName . Consulte 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.
-interrupción valor
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 devolverá inmediatamente, sin esperar a que se complete la devolución de llamada.
Para habilitar 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 (-mmm). 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 actualizando. 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 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 del SDK de Microsoft Windows.
[opciones]
-addtotriagedump
Nota:
Esta opción no debe usarse excepto cuando es posible que necesite ver 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.
-añadir
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.
-b BufferSize
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.
-bt n
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 almacenado 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.
-Cir MaxFileSize
Especifica el registro circular (al final del archivo, registrar nuevos mensajes sobre los mensajes más antiguos) 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 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 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 por 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.
-eflag n [flag...]
Habilita 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 conmutador de contexto, ISR y DPC. La opción -eflag no se puede usar con la opción –dpcisr .
-enableproperty n
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 (máximo 64 identificadores de evento permitidos). Esta opción está disponible a partir de Windows 8.1.
-ExeFilter Executable_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 con punto y coma. Los archivos no enumerados se excluyen. 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.
-bandera Bandera
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.
Flag 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.
-Pies FlushTime
Especifica con qué frecuencia, en segundos, se vacían los búferes de mensajes de seguimiento. El tiempo de vaciado mínimo 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, un asterisco debe precedido por un asterisco (*). A continuación, el nombre se convertirá en un GUID con el mismo algoritmo que . Origen de eventos 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 duras (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 -eflag Help para obtener una lista de eventos de kernel.
-nivel n
Especifica el nivel de seguimiento de los proveedores en 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 debe usarse 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 de 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.
-máximo NumberOfBuffers
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.
-matchallkw n
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.
-matchanykw n
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.
-min NumberOfBuffers
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.
-newfile MaxFileSize
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 -f LogFile 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 las 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 Protocolo de datagramas de usuario (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.
Enumera varios PID cuando el proveedor se ejecuta en más de un proceso, como cuando un único programa crea varios procesos.
-PidFilter n pid1 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.
-PkgIdFilter Nombre completo del paquete [ **;**Nombre completo del paquete...]
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.
-PkgAppIdFilter PRAID [**;**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 aplicaciones para UWP a partir de Windows 8.1.
-Pmc Ctr1,Ctr2,...:Name+Name+...
Configura el muestreo del contador de supervisión de rendimiento (PMC) en los eventos de kernel especificados. Esta opción está disponible a partir de Windows 8.
Use -ProfileSource Help 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.
-ProfileSource src
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 de autologger.
-SetProfInt n **** 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.
-Seq MaxFileSize
Especifica el registro secuencial (al final del archivo, detener los 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 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.
-sourceguid SourceGuid
Especifica el GUID pasado como parámetro SourceId a las funciones EnableTraceEx o EnableTraceEx2 . SourceId identifica la sesión que ha habilitado el proveedor.
-stackwalk [Eventos]
Especifica los eventos de kernel en los que se recopilarán las 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 (máximo 64 identificadores de evento permitidos). 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.
-micrómetro
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 resolución inferior, con cada mensaje de seguimiento.
Dado que el reloj del contador de rendimiento cuenta en aproximadamente 100 unidades nanosegundas, 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 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.
-? | ayuda | -?
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 (real-time) 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, 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 actualizando.
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 los mensajes de seguimiento siempre se generan, complete los pasos siguientes:
Establezca el parámetro flags en 0xFFFFFFFF para habilitar todos los valores de marca.
Establezca el parámetro levels en 255 para habilitar toda la configuración de nivel.
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 eventos DPC, ISR y cambio de contexto. 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 de 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 de proveedor. "Registrador de kernel nt" es el nombre de sesión predeterminado.
Si se omite el nombre de la sesión o es "Registrador de kernels 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 ("System Logger no acepta guids de aplicación"), pero sigue iniciando una sesión de seguimiento del registrador de kernel 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 los eventos DPC e ISR se recopilan mediante instrumentación especial, no aparecen en la fila de seguimiento Habilitado de la tabla que tracelog muestra para confirmar un comando.
Para obtener más información, vea Ejemplo 15: Medición del tiempo de DPC/ISR.
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de