Cómo enviar mensajes de seguimiento a un depurador de kernel?
Puede usar varios métodos para redirigir los mensajes de seguimiento a un depurador en modo kernel. Aquí se tratan algunos.
Puede redirigir los mensajes de seguimiento a KD o a Windbg, lo que esté asociado. El depurador debe estar conectado a través de un puerto COM con un cable de depuración (módem nulo) o a través del puerto 1394 ("firewire") con un cable IEEE 1394. No se pueden redirigir mensajes de seguimiento a otros depuradores de kernel, como NTSD.
Para mostrar mensajes de seguimiento en un depurador, wmitrace.dll y traceprt.dll deben estar en la ruta de búsqueda del depurador en el equipo host. Estos archivos DLL se incluyen en Herramientas de depuración para Windows También, para permitir que el depurador encuentre los archivos de formato de mensaje de seguimiento (.tmf) para los mensajes de seguimiento, los archivos TMF deben estar en la ruta de búsqueda del depurador en el equipo host. Para establecer la ruta de acceso de búsqueda del depurador, use la extensión del depurador especializado !wmitrace.searchpath o establezca el valor de la variable de entorno %TRACE_FORMAT_SEARCH_PATH%.
Para obtener más información, busque !wmitrace en Herramientas de depuración para Windows.
Logman
Use el siguiente comando de Logman para redirigir los mensajes de seguimiento a un depurador en modo kernel:
logman start TraceSession -ets -mode KernelFilter -bs 3
El parámetro -ets inicia una sesión de seguimiento de eventos que no está controlada por el servicio Registros de rendimiento y alertas. El parámetro -mode activa las opciones avanzadas, incluida la opción KernelFilter .
El parámetro -bs establece el tamaño del búfer de la sesión de seguimiento en 3 KB, el tamaño máximo del búfer para el depurador. Si omite este parámetro, la sesión del depurador no funcionará correctamente.
Logman se incluye en Windows XP y versiones posteriores de Windows.
Seguimiento
Use los siguientes mensajes de seguimiento de redirección del comando Tracelog a un depurador en modo kernel:
tracelog -start MyTrace -guid MyProvider.ctl -rt -kd
El parámetro -guid especifica el proveedor de seguimiento. El parámetro -rt especifica una sesión de seguimiento en tiempo real. El parámetro -kd redirige los mensajes de seguimiento al depurador de kernel y establece el tamaño máximo del búfer en 3 KB, el máximo para el depurador.
Para obtener un ejemplo, vea Ejemplo 16: Visualización de mensajes de seguimiento en un depurador.
Tracelog se encuentra en el subdirectorio tools\tracing\<Platform> del WDK, donde <Platform> es i386, amd64 o ia64.
TraceView
TraceView tiene una interfaz gráfica de usuario.
Puede redirigir los mensajes de seguimiento a un depurador de kernel al crear una sesión de seguimiento. En la página Opciones de sesión de registro , haga clic en Opciones avanzadas de sesión de registro, haga clic en la pestaña Opciones de parámetros de sesión de registro y, a continuación, cambie el valor de la opción Windbg a TRUE. No se puede cambiar esta opción mientras se ejecuta la sesión de seguimiento.
TraceView se encuentra en el subdirectorio tools\tracing\<Platform> del WDK, donde <Platform> es i386, amd64 o ia64.