DTrace on dynaaminen jäljityskehys, jonka avulla järjestelmänvalvoja tai kehittäjä voi tarkastella järjestelmää reaaliajassa joko käyttäjä- tai ydintilassa. DTracessa on C-tyylinen korkeatasoinen ja tehokas ohjelmointikieli, jonka avulla voit lisätä jäljityspisteitä dynaamisesti. Näiden dynaamisesti lisättyjen jäljityspisteiden avulla voit suodattaa ehtoja tai virheitä, kirjoittaa koodia lukituskuvioiden analysoimiseksi, havaita lukkiutumia jne.
Windowsissa DTrace laajentaa Event Tracing for Windows (ETW) -toimintoa, joka on staattinen eikä tarjoa mahdollisuutta lisätä ohjelmallisesti jäljityspisteitä suorituksen aikana.
Kaikki dtrace.sys:n käyttämät API:t ja toiminnot ovat dokumentoituja kutsuja.
Microsoft on ottanut käyttöön erityisen ajurin Windows 10:lle, joka mahdollistaa useiden järjestelmän valvontaroolien suorittamisen. Ohjain toimitetaan Windows 10 -version 1903 mukana. Lisäksi DTrace vaatii tällä hetkellä Windowsin käynnistyksen ytimen virheenkorjaustoiminnon ollessa käytössä.
Siirretyn DTrace-työkalun lähdekoodi on saatavilla GitHubissa. Vieraile sivulla DTrace WindowsissaOpenDTrace-projektin alla GitHubissa nähdäksesi sen.
Sisällys piilottaa Asenna DTrace Windows 10:ssä DTracen käyttöAsenna DTrace Windows 10:ssä
Ominaisuuden käytön edellytykset
- Windows 10 sisäpiirirakentaa 18342tai korkeampi
- Saatavilla vainx64Windows ja tallentaa jäljitystiedot vain 64-bittisille prosesseille Windows Insider -ohjelma onkäytössäjamääritettyvoimassa olevalla Windows Insider -tilillä
- Katso lisätietoja kohdasta Asetukset -> Päivitys ja suojaus -> Windows Insider -ohjelma
Ohjeet:
- BCD-konfiguraatiosarja:
- bcdedit /set dtrace päälle
- Huomaa, että sinun on asetettava bcdedit-vaihtoehto uudelleen, jos päivität uuteen Insider-koontiversioon
- Tämä asentaa käyttäjätilan komponentit, ohjaimet ja lisäominaisuuspaketit, jotka ovat tarpeen DTracen toiminnalle.
- Valinnainen: PäivitäPATH-ympäristömuuttujasisällyttääC:OhjelmatiedostotDTrace
- set PATH=%PATH%;'C:Program FilesDTrace'
- Perustaasymbolipolku
- Luo uusi hakemisto symbolien paikallista tallentamista varten. Esimerkki: mkdir c:symbols
- Aseta_NT_SYMBOL_PATH=srv*C:symbols* http://msdl.microsoft.com/download/symbols
- DTrace lataa automaattisesti tarvittavat symbolit symbolipalvelimelta ja tallentaa välimuistiin paikalliselle polulle.
Valinnainen:Asenna ytimen debuggeriyhteys kohdekoneeseen ( MSDN-linkki). Tämä onvaintarvitaan, jos haluat jäljittää ytimen tapahtumia FBT:n tai muiden palveluntarjoajien avulla. - Huomaa, että sinun on poistettava Secureboot ja Bitlocker käytöstä C::ssä (jos käytössä), jos haluat määrittää ytimen virheenkorjauksen.
DTracen käyttö
- Avaa korotettu komentokehote.
- Suorita jokin seuraavista komennoista:|_+_|
Käskydtrace -lvn syscall:::luetteloi kaikki anturit ja niiden parametrit, jotka ovat saatavilla syscall-palveluntarjoajalta.
Seuraavassa on joitain Windowsissa saatavilla olevia palveluntarjoajia ja niiden välineitä.
- syscall – NTOS-järjestelmän callsfbt (Function Boundary Tracing) – Ytimen funktion syöttö ja returnspid – Käyttäjätilan prosessin jäljitys. Kuten ydintilan FBT, mutta sallii myös mielivaltaisten funktioiden offsets.etw (Tapahtumanseuranta Windowsille) instrumentoinnin – Mahdollistaa koettimien määrittämisen ETW:tä varten. Tämä toimittaja auttaa hyödyntämään olemassa olevaa käyttöjärjestelmän instrumentointia DTracessa.
- Tämä on yksi lisäys, jonka olemme tehneet DTracelle, jotta se voi paljastaa ja saada kaikki tiedot, jotka Windows jo tarjoaa S.T.W.
Lisää Windows-skenaarioihin soveltuvia esimerkkiskriptejä löytyy tästä näytehakemisto.
Lähde: Microsoft