DTrace je sada dostupan u sustavu Windows
Sljedeće ažuriranje značajke Windows 10 (19H1, ažuriranje travnja 2019., verzija 1903) uključivat će podršku za DTrace, popularni alat za otklanjanje pogrešaka i dijagnostiku otvorenog koda. Izvorno je napravljen za Solaris, a postao je dostupan za Linux, FreeBSD, NetBSD i macOS. Microsoft ga je prenio na Windows.
DTrace je dinamički okvir za praćenje koji administratoru ili programeru omogućuje uvid u sustav u stvarnom vremenu u korisničkom ili kernel načinu rada. DTrace ima visoku razinu i moćan programski jezik u C stilu koji vam omogućuje dinamičko umetanje točaka praćenja. Koristeći ove dinamički umetnute točke praćenja, možete filtrirati uvjete ili pogreške, 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 će biti uključen u Windows 10 verziju 1903. Također, DTrace trenutno zahtijeva pokretanje sustava Windows s uključenim programom za ispravljanje pogrešaka kernela.
Izvorni kod za portirani alat DTrace dostupan je na GitHubu. Posjetite stranicu “DTrace u sustavu Windows” u okviru projekta OpenDTrace na GitHubu da biste ga vidjeli.
Postavite DTrace u sustavu Windows 10
Preduvjeti za korištenje značajke
- Windows 10 insajder gradnja 18342 ili više
- Dostupno samo na x64 Windows i bilježi podatke o praćenju samo za 64-bitne procese
-
Program Windows Insider je omogućeno i konfiguriran s važećim računom Windows Insider.
- Posjetite Postavke->Ažuriranje i sigurnost->Windows Insider Program za detalje
Upute:
-
BCD konfiguracijski set:
- bcdedit /postavi dtrace na
- Napomena, morate ponovno postaviti opciju bcdedit ako nadogradite na novu verziju Insidera
-
preuzimanje datoteka i instalirajte DTrace paket iz centar za preuzimanje.
- Time se instaliraju komponente korisničkog načina rada, upravljački programi i paketi dodatnih značajki na zahtjev potrebni da bi DTrace bio funkcionalan.
- Izborno: ažurirajte PATH varijabla okruženja uključiti C:\Program Files\DTrace
- postavite PATH=%PATH%;"C:\Program Files\DTrace"
- Postaviti put simbola
- Stvorite novi direktorij za lokalno keširanje simbola. Primjer: mkdir c:\symbols
- Set _NT_SYMBOL_PATH=srv*C:\symbols*http://msdl.microsoft.com/download/symbols
- DTrace automatski preuzima potrebne simbole s poslužitelja simbola i sprema na lokalni put.
-
Izborno:Postavite program za ispravljanje pogrešaka kernela veza s ciljnim strojem (MSDN veza). Ovo je samo potrebno ako želite pratiti Kernel događaje koristeći FBT ili druge davatelje usluga.
- Imajte na umu da ćete morati onemogućiti Secureboot i Bitlocker na C:, (ako je omogućen), ako želite postaviti program za ispravljanje pogrešaka kernela.
- Ponovno podizanje sustava ciljni stroj
Korištenje DTrace
- Otvorite an povišeni naredbeni redak.
- Izvršite jednu od sljedećih naredbi:
# Sažetak Syscall po programu u trajanju od 5 sekundi: dtrace -Fn "tick-5sec { exit (0);} syscallentry{ @num[pid, execname] = count();} " # Sažeti program za postavljanje/otkazivanje timera za 3 sekundi: dtrace -Fn "tick-3sec { exit (0);} syscall:: Nt*Timer*:entry { @[probefunc, execname, pid] = count();}" # Dump Struktura kernela procesa sustava: (zahtijeva put simbola do biti postavljen) dtrace -n "BEGIN{print(*(struct nt`_EPROCESS *) nt`PsInitialSystemProcess);exit (0);}" # Praćenje staza kroz NTFS prilikom pokretanja notepad.exe (zahtijeva KD a
Zapovijed dtrace -lvn sistemski poziv navest će sve sonde i njihove parametre dostupne od davatelja sistemskog poziva.
Sljedeći su neki od pružatelja usluga dostupnih u sustavu Windows i što oni instrumentiraju.
- sistemski poziv – NTOS sistemski pozivi
- fbt (Praćenje granica funkcije) – Unos i vraćanje funkcije jezgre
- pid – Praćenje procesa u korisničkom načinu rada. Kao i FBT u načinu kernela, ali također dopušta instrumentaciju proizvoljnih odstupanja funkcija.
-
etw (Praćenje događaja za Windows) – Omogućuje definiranje probe za ETW Ovaj pružatelj pomaže u korištenju postojeće instrumentacije operacijskog sustava u DTraceu.
- Ovo je jedan dodatak koji smo napravili za DTrace kako bismo mu omogućili da izloži i dobije sve informacije koje Windows već pruža ETW.
Više primjera skripti primjenjivih za Windows scenarije možete pronaći u ovome imenik uzoraka.
Izvor: Microsoft