Windows Tips & News

DTrace ahora está disponible en Windows

click fraud protection
RECOMENDADO: Haga clic aquí para solucionar problemas de Windows y optimizar el rendimiento del sistema

La próxima actualización de funciones de Windows 10 (19H1, actualización de abril de 2019, versión 1903) incluirá soporte para DTrace, la popular herramienta de diagnóstico y depuración de código abierto. Originalmente se creó para Solaris y estuvo disponible para Linux, FreeBSD, NetBSD y macOS. Microsoft lo ha portado a Windows.

Anuncio publicitario

DTrace es un marco de seguimiento dinámico que permite a un administrador o desarrollador obtener una vista en tiempo real de un sistema, ya sea en modo de usuario o de kernel. DTrace tiene un lenguaje de programación potente y de alto nivel estilo C que le permite insertar puntos de seguimiento de forma dinámica. Con estos puntos de seguimiento insertados dinámicamente, puede filtrar por condiciones o errores, escribir código para analizar patrones de bloqueo, detectar puntos muertos, etc.

En Windows, DTrace amplía el seguimiento de eventos para Windows (ETW), que es estático y no ofrece la capacidad de insertar puntos de seguimiento mediante programación en tiempo de ejecución.

Todas las API y las funciones utilizadas por dtrace.sys son llamadas documentadas.

Dtrace en Windows

Microsoft ha implementado un controlador especial para Windows 10 que permite realizar una serie de funciones de supervisión del sistema. El controlador se incluirá con Windows 10 versión 1903. Además, DTrace actualmente requiere que Windows se inicie con un depurador de kernel habilitado.

El código fuente de la herramienta DTrace portada está disponible en GitHub. Visite la página "DTrace en Windows”En el proyecto OpenDTrace en GitHub para verlo.

Contenidoesconder
Configurar DTrace en Windows 10
Uso de DTrace

Configurar DTrace en Windows 10

Requisitos previos para usar la función

  • Información privilegiada de Windows 10 compilación 18342 o mas alto
  • Solo disponible en x64 Windows y captura información de seguimiento solo para procesos de 64 bits
  • Programa Windows Insider es activado y configurado con una cuenta de Windows Insider válida
    • Visite Configuración-> Actualización y seguridad-> Programa Windows Insider para obtener más detalles

Instrucciones:

  1. Conjunto de configuración BCD:
    1. bcdedit / establecer dtrace en
    2. Tenga en cuenta que debe configurar la opción bcdedit nuevamente, si actualiza a una nueva compilación de Insider
  2. Descargar e instale el paquete DTrace desde Centro de descargas.
    1. Esto instala los componentes del modo de usuario, los controladores y los paquetes de funciones adicionales bajo demanda necesarios para que DTrace sea funcional.
  3. Opcional: actualice el Variable de entorno PATH para incluir C: \ Archivos de programa \ DTrace
    1. set PATH =% PATH%; "C: \ Archivos de programa \ DTrace"
  4. Configuración ruta de símbolo
    1. Cree un nuevo directorio para almacenar en caché los símbolos localmente. Ejemplo: mkdir c: \ symbols
    2. Colocar _NT_SYMBOL_PATH= srv * C: \ símbolos *http://msdl.microsoft.com/download/symbols
    3. DTrace descarga automáticamente los símbolos necesarios del servidor de símbolos y los almacena en la ruta local.
  5. Opcional:Configurar el depurador del kernel conexión a la máquina de destino (Enlace de MSDN). Este es solamente requerido si desea rastrear eventos del Kernel usando FBT u otros proveedores.
    1. Tenga en cuenta que deberá deshabilitar Secureboot y Bitlocker en C:, (si está habilitado), si desea configurar un depurador del kernel.
  6. Reiniciar máquina de destino

Uso de DTrace

  1. Abra un símbolo del sistema elevado.
  2. Ejecute uno de los siguientes comandos:
    # Resumen de syscall por programa durante 5 segundos: dtrace -Fn "tick-5sec {exit (0);} syscallentry {@num [pid, execname] = count ();}" # Resumir el temporizador establecido / cancelar programa para 3 segundos: dtrace -Fn "tick-3sec {exit (0);} syscall:: Nt * Timer *: entry {@ [probefunc, execname, pid] = count ();}" # Dump System Process estructura del kernel: (requiere ruta de símbolo a ser configurado) dtrace -n "BEGIN {print (* (struct nt`_EPROCESS *) nt`PsInitialSystemProcess); exit (0);}" # Trazar rutas a través de NTFS cuando se ejecuta notepad.exe (requiere KD a

El comando dtrace -lvn syscall enumerará todas las sondas y sus parámetros disponibles en el proveedor de syscall.

Los siguientes son algunos de los proveedores disponibles en Windows y sus instrumentos.

  • syscall - Llamadas al sistema NTOS
  • fbt (Seguimiento de límites de función): entrada y devolución de funciones del núcleo
  • pid - Seguimiento de procesos en modo usuario. Como FBT en modo kernel, pero también permite la instrumentación de compensaciones de funciones arbitrarias.
  • etw (Seguimiento de eventos para Windows): permite definir sondeos para ETW. Este proveedor ayuda a aprovechar la instrumentación del sistema operativo existente en DTrace.
    • Esta es una adición que hemos hecho a DTrace para permitirle exponer y obtener toda la información que Windows ya proporciona en ETW.

Se pueden encontrar más scripts de muestra aplicables para escenarios de Windows en este directorio de muestras.

Fuente: Microsoft

RECOMENDADO: Haga clic aquí para solucionar problemas de Windows y optimizar el rendimiento del sistema
KB4023057 para Windows 10 agrega mejoras de confiabilidad al servicio de actualización

KB4023057 para Windows 10 agrega mejoras de confiabilidad al servicio de actualización

RECOMENDADO: Haga clic aquí para solucionar problemas de Windows y optimizar el rendimiento del s...

Lee mas

El nombre en código de Linux Mint 19.1 es Tessa

El nombre en código de Linux Mint 19.1 es Tessa

Hace unos días, sus desarrolladores anunciaron el nombre en clave de la próxima versión de Linux ...

Lee mas

Archivos de iconos Mint-Y

Este sitio web utiliza cookies para mejorar su experiencia mientras navega por el sitio web. Fuer...

Lee mas