Windows Tips & News

DTrace on nyt saatavilla Windowsissa

click fraud protection

Seuraava Windows 10:n ominaisuuspäivitys (19H1, huhtikuu 2019 päivitys, versio 1903) sisältää tuen DTracelle, suositulle avoimen lähdekoodin virheenkorjaus- ja diagnostiikkatyökalulle. Se on alun perin rakennettu Solarisille, ja se tuli saataville Linuxille, FreeBSD: lle, NetBSD: lle ja macOS: lle. Microsoft on siirtänyt sen Windowsiin.

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 valvontatehtävien 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 Windowsissa” OpenDTrace-projektin alla GitHubissa nähdäksesi sen.

Asenna DTrace Windows 10:ssä

Ominaisuuden käytön edellytykset

  • Windows 10 sisäpiiri rakentaa 18342 tai korkeampi
  • Saatavilla vain x64 Windows ja tallentaa jäljitystiedot vain 64-bittisille prosesseille
  • Windows Insider -ohjelma On käytössä ja määritetty voimassa olevalla Windows Insider -tilillä.
    • Katso lisätietoja kohdasta Asetukset-> Päivitys ja suojaus-> Windows Insider -ohjelma

Ohjeet:

  1. BCD-konfiguraatiosarja:
    1. bcdedit /set dtrace päälle
    2. Huomaa, että sinun on asetettava bcdedit-vaihtoehto uudelleen, jos päivität uuteen Insider-koontiversioon
  2. ladata ja asenna DTrace-paketti osoitteesta latauskeskus.
    1. Tämä asentaa käyttäjätilan komponentit, ohjaimet ja lisäominaisuuspaketit, jotka ovat tarpeen DTracen toiminnalle.
  3. Valinnainen: Päivitä PATH-ympäristömuuttuja sisällyttää C:\Ohjelmatiedostot\DTrace
    1. set PATH=%PATH%;"C:\Ohjelmatiedostot\DTrace"
  4. Perustaa symbolipolku
    1. Luo uusi hakemisto symbolien paikallista tallentamista varten. Esimerkki: mkdir c:\symbols
    2. Aseta _NT_SYMBOL_PATH=srv*C:\symbols*http://msdl.microsoft.com/download/symbols
    3. DTrace lataa automaattisesti tarvittavat symbolit symbolipalvelimelta ja tallentaa välimuistiin paikalliselle polulle.
  5. Valinnainen:Asenna ytimen debuggeri yhteys kohdekoneeseen (MSDN-linkki). Tämä on vain tarvitaan, jos haluat jäljittää ytimen tapahtumia käyttämällä FBT: tä tai muita palveluntarjoajia.
    1. Huomaa, että sinun on poistettava Secureboot ja Bitlocker käytöstä C:: ssä (jos käytössä), jos haluat määrittää ytimen virheenkorjauksen.
  6. Käynnistä uudelleen kohdekone

DTracen käyttö

  1. Avaa an korotettu komentokehote.
  2. Suorita jokin seuraavista komennoista:
    # Syscall yhteenveto ohjelmaittain 5 sekunnin ajan: dtrace -Fn "tick-5sec { exit (0);} syscallentry{ @num[pid, execname] = count();} " # Tee yhteenveto ajastimen asetuksista/peruuta ohjelmasta 3 sekuntia: dtrace -Fn "tick-3sec { exit (0);} syscall:: Nt*Timer*:entry { @[probefunc, execname, pid] = count();}" # Dump System Prosessin ydinrakenne: (vaatii symbolipolku olla asetettu) dtrace -n "BEGIN{print(*(struct nt`_EPROCESS *) nt`PsInitialSystemProcess);exit (0);}" # Polkujen jäljitys NTFS: n kautta ajettaessa notepad.exe (vaatii KD a

Käsky dtrace -lvn syscall listaa kaikki syscall-palveluntarjoajalta saatavilla olevat anturit ja niiden parametrit.

Seuraavassa on joitain Windowsissa saatavilla olevia palveluntarjoajia ja niiden välineitä.

  • syscall – NTOS-järjestelmäkutsut
  • fbt (Function Boundary Tracing) – Ytimen funktion syöttö ja palautukset
  • pid – Käyttäjätilan prosessien jäljitys. Kuten kernel-tilan FBT, mutta mahdollistaa myös mielivaltaisten funktiopoikkeamien instrumentoinnin.
  • etw (Tapahtumanseuranta Windowsille) – Mahdollistaa koettimien määrittämisen ETW: lle. Tämä toimittaja auttaa hyödyntämään DTracessa olemassa olevaa käyttöjärjestelmän instrumentointia.
    • Tämä on yksi lisäys, jonka olemme tehneet DTracelle, jotta se voi paljastaa ja saada kaikki tiedot, jotka Windows jo tarjoaa ETW.

Lisää Windows-skenaarioihin soveltuvia esimerkkiskriptejä löytyy tästä näytehakemisto.

Lähde: Microsoft

JB skin AIMP3:sta

Tämä verkkosivusto käyttää evästeitä parantaakseen käyttökokemustasi, kun selaat sivustoa. Näistä...

Lue lisää

Hameleon iho AIMP3:lta

Tämä verkkosivusto käyttää evästeitä parantaakseen käyttökokemustasi, kun selaat sivustoa. Näistä...

Lue lisää

Euphoria skin AIMP3:lta

Tämä verkkosivusto käyttää evästeitä parantaakseen käyttökokemustasi, kun selaat sivustoa. Näistä...

Lue lisää