DTrace er en dynamisk sporingsramme, der giver en administrator eller udvikler mulighed for at få et realtidskig ind i et system enten i bruger- eller kernetilstand. DTrace har et C-stil højt niveau og kraftfuldt programmeringssprog, der giver dig mulighed for dynamisk at indsætte sporingspunkter. Ved at bruge disse dynamisk indsatte sporingspunkter kan du filtrere på forhold eller fejl, skrive kode for at analysere låsemønstre, detektere blokeringer osv.
På Windows udvider DTrace Event Tracing for Windows (ETW), som er statisk og ikke giver mulighed for programmæssigt at indsætte sporingspunkter under kørsel.
Alle API'er og funktionalitet, der bruges af dtrace.sys, er dokumenterede kald.
Microsoft har implementeret en speciel driver til Windows 10, der gør det muligt at udføre en række systemovervågningsroller. Driveren vil blive inkluderet i Windows 10 version 1903. DTrace kræver også i øjeblikket, at Windows startes med en kernefejlfinding aktiveret.
Kildekoden til det porterede DTrace-værktøj er tilgængelig på GitHub. Besøg siden DTrace på Windowsunder OpenDTrace-projektet på GitHub for at se det.
Indhold skjule Konfigurer DTrace i Windows 10 Bruger DTraceKonfigurer DTrace i Windows 10
Forudsætninger for at bruge funktionen
- Windows 10 insiderbygget 18342eller højere
- Kun tilgængelig påx64Windows og fanger kun sporingsoplysninger for 64-bit processer Windows Insider-programmet eraktiveretogkonfigureretmed en gyldig Windows Insider-konto
- Besøg Indstillinger->Opdatering og sikkerhed->Windows Insider-program for detaljer
Instruktioner:
- BCD konfigurationssæt:
- bcdedit /sæt dtrace til
- Bemærk, du skal indstille bcdedit-indstillingen igen, hvis du opgraderer til en ny Insider-build
- Dette installerer brugertilstandskomponenter, drivere og yderligere funktions-on-demand-pakker, der er nødvendige for at DTrace kan fungere.
- Valgfrit: OpdaterPATH miljøvariabelat medtageC:Program FilesDTrace
- sæt PATH=%PATH%;'C:Program FilesDTrace'
- Opsætningsymbolsti
- Opret en ny mappe til caching af symboler lokalt. Eksempel: mkdir c:symbols
- Sæt_NT_SYMBOL_PATH=srv*C:symbols* http://msdl.microsoft.com/download/symbols
- DTrace downloader automatisk de nødvendige symboler fra symbolserveren og cacher til den lokale sti.
Valgfri:Konfigurer Kernel debuggerforbindelse til målmaskinen ( MSDN link). Dette erkunpåkrævet, hvis du ønsker at spore kernehændelser ved hjælp af FBT eller andre udbydere. - Bemærk, at du bliver nødt til at deaktivere Secureboot og Bitlocker på C:, (hvis aktiveret), hvis du ønsker at opsætte en kerne-debugger.
Bruger DTrace
- Åbn en forhøjet kommandoprompt.
- Udfør en af følgende kommandoer:|_+_|
Kommandoendtrace -lvn syscall:::vil liste alle prober og deres parametre tilgængelige fra syscall-udbyderen.
Følgende er nogle af de tilgængelige udbydere på Windows, og hvad de instrumenterer.
- syscall – NTOS system callsfbt (Function Boundary Tracing) – Kernel funktion indtastning og returnspid – User-mode proces sporing. Ligesom kernel-mode FBT, men også tillader instrumentering af vilkårlige funktion offsets.etw (Event Tracing for Windows) – Giver mulighed for at definere prober for ETW. Denne udbyder hjælper med at udnytte eksisterende operativsysteminstrumentering i DTrace.
- Dette er en tilføjelse, vi har gjort til DTrace for at give den mulighed for at afsløre og få alle de oplysninger, som Windows allerede leverer i S.T.W.
Flere eksempler på scripts, der er relevante for Windows-scenarier, kan findes i dette mappe med prøver.
Kilde: Microsoft