DTrace je dinamično ogrodje za sledenje, ki skrbniku ali razvijalcu omogoča vpogled v sistem v realnem času v uporabniškem ali jedrnem načinu. DTrace ima visoko raven in zmogljiv programski jezik v slogu C, ki vam omogoča dinamično vstavljanje točk sledenja. Z uporabo teh dinamično vstavljenih sledilnih točk lahko filtrirate pogoje ali napake, pišete kodo za analizo vzorcev zaklepanja, odkrivate zastoje itd.
V sistemu Windows DTrace razširja sledenje dogodkom za Windows (ETW), ki je statično in ne omogoča programskega vstavljanja točk sledenja med izvajanjem.
Vsi API-ji in funkcije, ki jih uporablja dtrace.sys, so dokumentirani klici.
Microsoft je uvedel poseben gonilnik za Windows 10, ki omogoča izvajanje številnih vlog za spremljanje sistema. Gonilnik bo vključen v sistem Windows 10 različice 1903. Prav tako DTrace trenutno zahteva, da se Windows zažene z omogočenim razhroščevalnikom jedra.
Izvorna koda za preneseno orodje DTrace je na voljo na GitHubu. Obiščite stran DTrace v sistemu Windowsv okviru projekta OpenDTrace na GitHubu, da si ga ogledate.
Vsebina skriti Nastavite DTrace v sistemu Windows 10 Uporaba DTraceNastavite DTrace v sistemu Windows 10
Predpogoji za uporabo funkcije
- Insajder za Windows 10zgradba 18342ali višje
- Na voljo samo nax64Windows in zajema informacije o sledenju samo za 64-bitne procese Program Windows Insider jeomogočenoinkonfiguriranz veljavnim računom Windows Insider
- Za podrobnosti obiščite Nastavitve->Posodobitev in varnost->Program Windows Insider
Navodila:
- Nabor konfiguracije BCD:
- bcdedit /set dtrace on
- Upoštevajte, da morate znova nastaviti možnost bcdedit, če nadgradite na novo različico programa Insider
- To namesti komponente uporabniškega načina, gonilnike in dodatne pakete funkcij na zahtevo, potrebne za delovanje DTrace.
- Izbirno: posodobiteSpremenljivka okolja PATHvključujeC:Programske datotekeDTrace
- set PATH=%PATH%;'C:Program FilesDTrace'
- Nastavitipot simbola
- Ustvarite nov imenik za lokalno predpomnjenje simbolov. Primer: mkdir c:symbols
- Set_NT_SYMBOL_PATH=srv*C:simboli* http://msdl.microsoft.com/download/symbols
- DTrace samodejno prenese potrebne simbole s strežnika simbolov in jih predpomni na lokalno pot.
Neobvezno:Nastavitev razhroščevalnika jedrapovezava s ciljnim računalnikom ( MSDN povezava). To jesamopotrebno, če želite slediti dogodkom jedra s pomočjo FBT ali drugih ponudnikov. - Upoštevajte, da boste morali onemogočiti Secureboot in Bitlocker na C: (če je omogočen), če želite nastaviti razhroščevalnik jedra.
Uporaba DTrace
- Odprite povišan ukazni poziv.
- Izvedite enega od naslednjih ukazov:|_+_|
Ukazdtrace -lvn syscall :::bo navedel vse sonde in njihove parametre, ki so na voljo pri ponudniku syscall.
Sledi nekaj ponudnikov, ki so na voljo v sistemu Windows, in kaj instrumentirajo.
- syscall – sistemski klici NTOSfbt (Function Boundary Tracing) – Vnos funkcije jedra in returnspid – Sledenje procesom v uporabniškem načinu. Tako kot FBT v načinu jedra, vendar omogoča tudi instrumentacijo poljubne funkcije offsets.etw (sledenje dogodkom za Windows) – omogoča definiranje sond za ETW. Ta ponudnik pomaga izkoristiti obstoječo instrumentacijo operacijskega sistema v DTrace.
- To je en dodatek, ki smo ga naredili za DTrace, da mu omogočimo, da izpostavi in pridobi vse informacije, ki jih Windows že ponuja S.T.W.
Več vzorčnih skriptov, ki se uporabljajo za scenarije sistema Windows, najdete tukaj imenik vzorcev.
Vir: Microsoft