La propera actualització de funcions de Windows 10 (19H1, actualització d’abril de 2019, versió 1903) inclourà compatibilitat amb DTrace, la popular eina de depuració i diagnòstic de codi obert. Originalment s’ha construït per a Solaris i està disponible per a Linux, FreeBSD, NetBSD i macOS. Microsoft l’ha portat a Windows.
Anunci publicitari
DTrace és un marc de seguiment dinàmic que permet a un administrador o desenvolupador obtenir un aspecte en temps real d'un sistema, ja sigui en mode d'usuari o nucli. DTrace té un llenguatge de programació d’alt nivell i potent a l’estil C que permet inserir dinàmicament punts de traça. Mitjançant aquests punts de traça inserits dinàmicament, podeu filtrar les condicions o errors, escriure codi per analitzar patrons de bloqueig, detectar bloquejos, etc.
com obtenir imatges de l'iPhone a l'ordinador
Al Windows, DTrace amplia el seguiment d’esdeveniments per a Windows (ETW), que és estàtic i no proporciona la possibilitat d’inserir punts de traça per programació en temps d’execució.
Totes les API i funcionalitats que utilitza dtrace.sys són trucades documentades.
on hi ha accés ràpid a Windows 10
Microsoft ha implementat un controlador especial per a Windows 10 que permet realitzar diverses funcions de supervisió del sistema. El controlador s'inclourà amb Windows 10 versió 1903. A més, actualment DTrace requereix que s'iniciï Windows amb un depurador del nucli habilitat.
El codi font de l'eina DTrace portada està disponible a GitHub. Visiteu la pàgina ' DTrace al Windows ”Sota el projecte OpenDTrace a GitHub per veure-ho.
Configureu DTrace al Windows 10
Requisits previs per utilitzar la funció
- Windows 10 privilegiat construcció 18342 o superior
- Només disponible a x64 Windows i captura informació de seguiment només per a processos de 64 bits
- Programa Windows Insider és activat i configurat amb un compte de Windows Insider vàlid
- Visiteu Configuració-> Actualització i seguretat-> Programa Windows Insider per obtenir més informació
Instruccions:
com es recuperen els missatges suprimits a l'iPhone?
- Conjunt de configuració de BCD :
- bcdedit / set dtrace on
- Tingueu en compte que heu de tornar a configurar l'opció bcdedit si actualitzeu a una nova versió d'Insider
- descarregar i instal·leu el paquet DTrace des de centre de descàrregues .
- S'instal·len els components del mode d'usuari, els controladors i els paquets de funcions addicionals a la carta necessaris perquè DTrace sigui funcional.
- Opcional: actualitzeu el fitxer Variable d'entorn PATH per incloure C: Fitxers de programa DTrace
- set PATH =% PATH%; 'C: Program Files DTrace'
- Configuració camí del símbol
- Creeu un directori nou per emmagatzemar a la memòria cau símbols localment. Exemple: mkdir c: símbols
- Conjunt _NT_SYMBOL_PATH = srv * C: símbols * http://msdl.microsoft.com/download/symbols
- DTrace descarrega automàticament els símbols necessaris des del servidor de símbols i desa la memòria cau al camí d'accés local.
- Opcional: Configureu el depurador del nucli connexió a la màquina de destinació ( Enllaç MSDN ). Això és només obligatori si voleu rastrejar els esdeveniments del nucli mitjançant FBT o altres proveïdors.
- Tingueu en compte que haureu de desactivar Secureboot i Bitlocker a C :, (si està activat), si voleu configurar un depurador del nucli.
- Reinicieu màquina objectiu
Utilitzant DTrace
- Obriu un indicador d'ordres elevat .
- Executeu una de les ordres següents:
# Resum de Syscall per programa durant 5 segons: dtrace -Fn 'tick-5sec {exit (0);} syscall ::: entry {@num [pid, execname] = count ();}' # Resumeix el programa de temporitzadors / cancel·la durant 3 segons: dtrace -Fn 'tick-3sec {exit (0);} syscall :: Nt * Timer *: entry {@ [probefunc, execname, pid] = count ();}' # Dump System Process kernel structure: (requereix que es defineixi la ruta del símbol) dtrace -n 'BEGIN {print (* (struct nt`_EPROCESS *) nt`PsInitialSystemProcess); exit (0);}' # Rastreig de rutes a través de NTFS quan s'executa notepad.exe (requereix KD a
L'ordre dtrace -lvn syscall ::: llistarà totes les sondes i els seus paràmetres disponibles al proveïdor de syscall.
A continuació es detallen alguns dels proveïdors disponibles a Windows i el que instrumenten.
- syscall - Trucades al sistema NTOS
- fbt (Seguiment de límits de funció): entrada i retorn de la funció del nucli
- pid - Seguiment de processos en mode usuari. Com FBT en mode nucli, però també permet la instrumentació de compensacions de funcions arbitràries.
- sth (Seguiment d'esdeveniments per a Windows): permet definir sondes per ETW. Aquest proveïdor ajuda a aprofitar la instrumentació del sistema operatiu existent a DTrace.
- Aquesta és una addició que hem fet a DTrace per permetre-li exposar i obtenir tota la informació que ja proporciona Windows ETW .
En aquest document es poden trobar més exemples de scripts aplicables a escenaris de Windows directori d'exemples .
Font: Microsoft