DTrace är ett dynamiskt spårningsramverk som låter en administratör eller utvecklare få en realtidsinblick i ett system antingen i användar- eller kärnläge. DTrace har ett högnivå- och kraftfullt programmeringsspråk i C-stil som gör att du dynamiskt kan infoga spårpunkter. Genom att använda dessa dynamiskt infogade spårpunkter kan du filtrera på villkor eller fel, skriva kod för att analysera låsmönster, upptäcka blockerade låsningar, etc.
På Windows utökar DTrace Event Tracing för Windows (ETW) som är statisk och inte ger möjlighet att programmässigt infoga spårningspunkter under körning.
Alla API:er och funktionalitet som används av dtrace.sys är dokumenterade anrop.
Microsoft har implementerat en speciell drivrutin för Windows 10 som gör det möjligt att utföra ett antal systemövervakningsroller. Drivrutinen kommer att inkluderas med Windows 10 version 1903. Dessutom kräver DTrace för närvarande att Windows startas med en kärnfelsökare aktiverad.
Källkoden för det portade DTrace-verktyget är tillgänglig på GitHub. Besök sidan DTrace på Windowsunder OpenDTrace-projektet på GitHub för att se det.
Innehåll Dölj Ställ in DTrace i Windows 10 Använder DTraceStäll in DTrace i Windows 10
Förutsättningar för att använda funktionen
- Windows 10 insiderbyggt 18342eller högre
- Endast tillgänglig påx64Windows och fångar spårningsinformation endast för 64-bitarsprocesser Windows Insider Program äraktiveradochkonfigureradmed ett giltigt Windows Insider-konto
- Besök Inställningar->Uppdatering och säkerhet->Windows Insider-program för mer information
Instruktioner:
- BCD-konfigurationsuppsättning:
- bcdedit /set dtrace på
- Observera att du måste ställa in alternativet bcdedit igen om du uppgraderar till en ny Insider-build
- Detta installerar användarlägeskomponenterna, drivrutinerna och ytterligare funktionspaket som krävs för att DTrace ska fungera.
- Valfritt: UppdateraPATH miljövariabelatt inkluderaC:Program FilesDTrace
- set PATH=%PATH%;'C:Program FilesDTrace'
- Uppstartsymbol sökväg
- Skapa en ny katalog för cachning av symboler lokalt. Exempel: mkdir c:symbols
- Uppsättning_NT_SYMBOL_PATH=srv*C:symbols* http://msdl.microsoft.com/download/symbols
- DTrace laddar automatiskt ner de symboler som behövs från symbolservern och cachar till den lokala sökvägen.
Frivillig:Ställ in kärnfelsökninganslutning till målmaskinen ( MSDN-länk). Detta ärendastkrävs om du vill spåra Kernel-händelser med FBT eller andra leverantörer. - Observera att du måste inaktivera Secureboot och Bitlocker på C:, (om aktiverat), om du vill ställa in en kärnfelsökare.
Använder DTrace
- Öppna en förhöjd kommandotolk.
- Kör ett av följande kommandon:|_+_|
Kommandotdtrace -lvn syscall:::kommer att lista alla sonder och deras parametrar tillgängliga från syscall-leverantören.
Följande är några av de leverantörer som är tillgängliga på Windows och vad de instrumenterar.
- syscall – NTOS system callsfbt (Function Boundary Tracing) – Kärnfunktionsinmatning och returnspid – Processspårning i användarläge. Som kernel-mode FBT, men också tillåta instrumentering av godtyckliga funktion offsets.etw (Event Tracing för Windows) – Tillåter att prober definieras för ETW.
- Detta är ett tillägg vi har gjort till DTrace för att tillåta den att exponera och få all information som Windows redan tillhandahåller S.T.W.
Fler exempelskript som är tillämpliga för Windows-scenarier finns i detta provkatalog.
Källa: Microsoft