DTrace je okvir za dinamičko praćenje koji omogućuje administratoru ili programeru uvid u sustav u stvarnom vremenu, bilo u korisničkom ili kernel načinu. DTrace ima C-style visoku razinu i moćan programski jezik koji vam omogućuje dinamičko umetanje točaka praćenja. Pomoću ovih dinamički umetnutih točaka praćenja možete filtrirati prema uvjetima ili pogreškama, napisati kod za analizu uzoraka zaključavanja, otkriti zastoje itd.
U sustavu Windows, DTrace proširuje praćenje događaja za Windows (ETW) koje je statično i ne pruža mogućnost programskog umetanja točaka praćenja tijekom izvođenja.
Svi API-ji i funkcionalnosti koje koristi dtrace.sys su dokumentirani pozivi.
Microsoft je implementirao poseban upravljački program za Windows 10 koji omogućuje obavljanje niza uloga nadzora sustava. Upravljački program bit će uključen u Windows 10 verziju 1903. Također, DTrace trenutno zahtijeva da se Windows pokrene s omogućenim kernel debuggerom.
Izvorni kod za portirani alat DTrace dostupan je na GitHubu. Posjetite stranicu DTrace u sustavu Windowspod projektom OpenDTrace na GitHubu da biste ga vidjeli.
Sadržaj sakriti Postavite DTrace u sustavu Windows 10 Korištenje DTracePostavite DTrace u sustavu Windows 10
Preduvjeti za korištenje značajke
- Insajder za Windows 10graditi 18342ili više
- Dostupno samo nax64Windows i bilježi informacije o praćenju samo za 64-bitne procese Windows Insider program jeomogućenoikonfigurirans valjanim Windows Insider računom
- Posjetite Postavke->Ažuriranje i sigurnost->Windows Insider program za detalje
upute:
- Skup konfiguracije BCD:
- bcdedit /postavi dtrace na
- Imajte na umu da morate ponovno postaviti opciju bcdedit ako nadogradite na novu Insider verziju
- Ovo instalira komponente korisničkog načina rada, upravljačke programe i pakete dodatnih značajki na zahtjev koji su potrebni da bi DTrace bio funkcionalan.
- Izborno: ažurirajtePATH varijabla okruženjauključitiC:Program FilesDTrace
- postavi PATH=%PATH%;'C:Program FilesDTrace'
- Postavitiput simbola
- Stvorite novi direktorij za lokalno spremanje simbola u predmemoriju. Primjer: mkdir c:symbols
- set_NT_SYMBOL_PATH=srv*C:symbols* http://msdl.microsoft.com/download/symbols
- DTrace automatski preuzima potrebne simbole sa poslužitelja simbola i sprema ih na lokalnu stazu.
izborno:Postavljanje programa za ispravljanje pogrešaka jezgreveza s ciljnim strojem ( MSDN poveznica). Ovo jesamopotrebno ako želite pratiti događaje kernela pomoću FBT-a ili drugih pružatelja usluga. - Imajte na umu da ćete morati onemogućiti Secureboot i Bitlocker na C:, (ako je omogućen), ako želite postaviti kernel debugger.
Korištenje DTrace
- Otvorite povišeni naredbeni redak.
- Izvršite jednu od sljedećih naredbi:|_+_|
Zapovijeddtrace -lvn sistemski poziv :::izlistat će sve sonde i njihove parametre dostupne od pružatelja syscall-a.
Slijede neki od pružatelja dostupnih u sustavu Windows i ono što oni instrumentiraju.
- syscall – pozivi NTOS sustavafbt (Function Boundary Tracing) – Unos i returnspid kernel funkcije – Praćenje procesa u korisničkom načinu rada. Poput FBT-a u načinu jezgre, ali također dopušta instrumentaciju proizvoljnih funkcija offsets.etw (Praćenje događaja za Windows) – Omogućuje definiranje sondi za ETW. Ovaj pružatelj pomaže u iskorištavanju instrumentacije postojećeg operativnog sustava u DTraceu.
- Ovo je jedan dodatak koji smo učinili DTraceu kako bismo mu omogućili izlaganje i dobivanje svih informacija koje Windows već nudi S.T.W.
Više primjera skripti primjenjivih za Windows scenarije možete pronaći ovdje imenik uzoraka.
Izvor: Microsoft