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
DTrace es un marco de seguimiento dinámico que permite a un administrador o desarrollador obtener una visión 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.
como conseguir puntos de prestigio jajaja
En Windows, DTrace amplía el seguimiento de eventos para Windows (ETW), que es estático y no ofrece la posibilidad de insertar puntos de seguimiento mediante programación en tiempo de ejecución.
Todas las API y la funcionalidad que utiliza dtrace.sys son llamadas documentadas.
cómo subir rápidamente tu puntuación en Snapchat
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 la versión 1903 de Windows 10. 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.
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 habilitado 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:
¿Puedes convertir un cable coaxial a hdmi?
- Conjunto de configuración BCD :
- bcdedit / establecer dtrace en
- Tenga en cuenta que debe volver a configurar la opción bcdedit si actualiza a una nueva versión de Insider
- Descargar e instale el paquete DTrace desde Centro de descargas .
- Esto instala los componentes del modo de usuario, los controladores y los paquetes de funciones adicionales bajo demanda necesarios para que DTrace sea funcional.
- Opcional: actualice el Variable de entorno PATH para incluir C: Archivos de programa DTrace
- set PATH =% PATH%; 'C: Archivos de programa DTrace'
- Preparar ruta de símbolo
- Cree un nuevo directorio para almacenar en caché símbolos localmente. Ejemplo: mkdir c: symbols
- Conjunto _NT_SYMBOL_PATH = srv * C: símbolos * http://msdl.microsoft.com/download/symbols
- DTrace descarga automáticamente los símbolos necesarios del servidor de símbolos y los almacena en la ruta local.
- Opcional: Configurar el depurador del kernel conexión a la máquina de destino ( Enlace de MSDN ). Esto es solamente requerido si desea rastrear eventos del Kernel usando FBT u otros proveedores.
- Tenga en cuenta que deberá deshabilitar Secureboot y Bitlocker en C :, (si está habilitado), si desea configurar un depurador del kernel.
- Reiniciar máquina de destino
Usar DTrace
- Abra un símbolo del sistema elevado .
- Ejecute uno de los siguientes comandos:
# Resumen de syscall por programa durante 5 segundos: dtrace -Fn 'tick-5sec {exit (0);} syscall ::: entrada {@num [pid, execname] = count ();}' # Resumir programa de activación / cancelación de temporizador durante 3 segundos: dtrace -Fn 'tick-3sec {exit (0);} syscall :: Nt * Timer *: entry {@ [probefunc, execname, pid] = count ();}' # Volcar la estructura del núcleo del proceso del sistema: (requiere que se establezca la ruta del símbolo) 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.
- algo (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