DTrace is een dynamisch traceringsframework waarmee een beheerder of ontwikkelaar realtime inzicht kan krijgen in een systeem, zowel in de gebruikers- als in de kernelmodus. DTrace heeft een hoogwaardige en krachtige programmeertaal in C-stijl waarmee u dynamisch traceerpunten kunt invoegen. Met behulp van deze dynamisch ingevoegde traceerpunten kunt u filteren op omstandigheden of fouten, code schrijven om vergrendelingspatronen te analyseren, impasses detecteren, enz.
Op Windows breidt DTrace Event Tracing for Windows (ETW) uit, dat statisch is en niet de mogelijkheid biedt om programmatisch traceerpunten in te voegen tijdens runtime.
Alle API's en functionaliteit die door dtrace.sys worden gebruikt, zijn gedocumenteerde oproepen.
Microsoft heeft een speciaal stuurprogramma voor Windows 10 geïmplementeerd waarmee een aantal systeemmonitoringrollen kan worden uitgevoerd. De driver wordt meegeleverd met Windows 10 versie 1903. Bovendien vereist DTrace momenteel dat Windows wordt gestart met een kernel-debugger ingeschakeld.
De broncode voor de geporteerde DTrace-tool is beschikbaar op GitHub. Bezoek de pagina DTrace op Windowsonder het OpenDTrace-project op GitHub om het te zien.
Inhoud verbergen Installeer DTrace in Windows 10 Met behulp van DTraceInstalleer DTrace in Windows 10
Vereisten voor het gebruik van de functie
- Windows 10-insiderbouwjaar 18342of hoger
- Alleen beschikbaar opx64Windows en legt alleen traceringsinformatie vast voor 64-bits processen Windows Insider-programma isingeschakeldEngeconfigureerdmet een geldig Windows Insider-account
- Ga naar Instellingen->Update en beveiliging->Windows Insider-programma voor meer informatie
Instructies:
- BCD-configuratieset:
- bcdedit /set dtrace aan
- Let op: u moet de bcdedit-optie opnieuw instellen als u upgradet naar een nieuwe Insider-build
- Hiermee worden de gebruikersmoduscomponenten, stuurprogramma's en aanvullende feature-on-demand-pakketten geïnstalleerd die nodig zijn om DTrace te laten functioneren.
- Optioneel: Update dePATH-omgevingsvariabeleop te nemenC:Program FilesDTrace
- set PATH=%PATH%;'C:Program FilesDTrace'
- Opgerichtsymbool pad
- Maak een nieuwe map voor het lokaal cachen van symbolen. Voorbeeld: mkdir c:symbols
- Set_NT_SYMBOL_PATH=srv*C:symbolen* http://msdl.microsoft.com/download/symbols
- DTrace downloadt automatisch de benodigde symbolen van de symboolserver en slaat deze op in het lokale pad.
Optioneel:Kernel-foutopsporing instellenverbinding met de doelmachine ( MSDN-link). Dit isalleenvereist als u Kernel-gebeurtenissen wilt traceren met behulp van FBT of andere providers. - Merk op dat u Secureboot en Bitlocker op C: (indien ingeschakeld) moet uitschakelen als u een kernel-debugger wilt instellen.
Met behulp van DTrace
- Open een opdrachtprompt met verhoogde bevoegdheid.
- Voer een van de volgende opdrachten uit:|_+_|
Het beveldtrace -lvn syscall:::zal alle probes en hun parameters vermelden die beschikbaar zijn bij de syscall-provider.
Hieronder volgen enkele van de providers die beschikbaar zijn op Windows en wat ze instrumenteren.
- syscall – NTOS-systeemaanroepenfbt (Function Boundary Tracing) – Kernelfunctie-invoer en returnspid – Processtracering in gebruikersmodus. Zoals FBT in kernelmodus, maar ook de instrumentatie van willekeurige functie-offsets mogelijk.etw (Event Tracing for Windows) – Maakt het definiëren van probes voor ETW mogelijk. Deze provider helpt bij het benutten van bestaande besturingssysteeminstrumentatie in DTrace.
- Dit is een toevoeging die we aan DTrace hebben gedaan om het mogelijk te maken alle informatie die Windows al biedt, openbaar te maken en te verkrijgen STW.
Meer voorbeeldscripts die van toepassing zijn op Windows-scenario's vindt u hierin map met voorbeelden.
Bron: Microsoft