Windows Tips & News

DTrace er nå tilgjengelig på Windows

click fraud protection

Den neste funksjonsoppdateringen for Windows 10 (19H1, april 2019-oppdatering, versjon 1903) vil inkludere støtte for DTrace, det populære åpen kildekode-feilsøkings- og diagnoseverktøyet. Den har opprinnelig blitt bygget for Solaris, og ble tilgjengelig for Linux, FreeBSD, NetBSD og macOS. Microsoft har overført den til Windows.

DTrace er et dynamisk sporingsrammeverk som lar en administrator eller utvikler få en sanntidskikk inn i et system enten i bruker- eller kjernemodus. DTrace har et C-stil høyt nivå og kraftig programmeringsspråk som lar deg sette inn sporpunkter dynamisk. Ved å bruke disse dynamisk innsatte sporingspunktene kan du filtrere på forhold eller feil, skrive kode for å analysere låsemønstre, oppdage vranglås osv.

På Windows utvider DTrace Event Tracing for Windows (ETW) som er statisk og ikke gir mulighet til å programmere sette inn sporingspunkter under kjøring.

Alle APIer og funksjonalitet som brukes av dtrace.sys er dokumenterte kall.

Microsoft har implementert en spesiell driver for Windows 10 som gjør det mulig å utføre en rekke systemovervåkingsroller. Driveren vil bli inkludert i Windows 10 versjon 1903. Dessuten krever DTrace for øyeblikket at Windows startes med en kjernefeilsøker aktivert.

Kildekoden for det porterte DTrace-verktøyet er tilgjengelig på GitHub. Besøk siden "DTrace på Windows” under OpenDTrace-prosjektet på GitHub for å se det.

Sett opp DTrace i Windows 10

Forutsetninger for å bruke funksjonen

  • Windows 10 insider bygget 18342 eller høyere
  • Kun tilgjengelig på x64 Windows og fanger opp sporingsinformasjon kun for 64-bits prosesser
  • Windows Insider-programmet er aktivert og konfigurert med gyldig Windows Insider-konto.
    • Gå til Innstillinger->Oppdatering og sikkerhet->Windows Insider-program for detaljer

Bruksanvisning:

  1. BCD-konfigurasjonssett:
    1. bcdedit /sett dtrace på
    2. Merk at du må angi bcdedit-alternativet igjen hvis du oppgraderer til en ny Insider-bygg
  2. nedlasting og installer DTrace-pakken fra nedlastingssenter.
    1. Dette installerer brukermoduskomponenter, drivere og tilleggsfunksjoner på forespørsel som er nødvendige for at DTrace skal fungere.
  3. Valgfritt: Oppdater PATH miljøvariabel å inkludere C:\Program Files\DTrace
    1. sett PATH=%PATH%;"C:\Program Files\DTrace"
  4. Oppsett symbolbane
    1. Opprett en ny katalog for bufring av symboler lokalt. Eksempel: mkdir c:\symbols
    2. Sett _NT_SYMBOL_PATH=srv*C:\symbols*http://msdl.microsoft.com/download/symbols
    3. DTrace laster automatisk ned de nødvendige symbolene fra symbolserveren og cacher til den lokale banen.
  5. Valgfri:Sett opp kjernefeilsøker tilkobling til målmaskinen (MSDN-kobling). Dette er kun nødvendig hvis du ønsker å spore kjernehendelser ved hjelp av FBT eller andre leverandører.
    1. Merk at du må deaktivere Secureboot og Bitlocker på C:, (hvis aktivert), hvis du vil sette opp en kjernefeilsøker.
  6. Start på nytt målmaskin

Bruker DTrace

  1. Åpne en forhøyet ledetekst.
  2. Utfør en av følgende kommandoer:
    # Syscall-oppsummering etter program i 5 sekunder: dtrace -Fn "tick-5sec { exit (0);} syscallentry{ @num[pid, execname] = count();} " # Summarize timer sett/avbryt program for 3 sekunder: dtrace -Fn "tick-3sec { exit (0);} syscall:: Nt*Timer*:entry { @[probefunc, execname, pid] = count();}" # Dump System Process kjernestruktur: (krever symbolvei til settes) dtrace -n "BEGIN{print(*(struct nt`_EPROCESS *) nt`PsInitialSystemProcess);exit (0);}" # Spore stier gjennom NTFS når du kjører notepad.exe (krever KD a

Kommandoen dtrace -lvn syscall vil liste opp alle probene og deres parametere tilgjengelig fra syscall-leverandøren.

Følgende er noen av leverandørene som er tilgjengelige på Windows og hva de instrumenterer.

  • syscall – NTOS-systemanrop
  • fbt (Function Boundary Tracing) – Innføring og retur av kjernefunksjon
  • pid – Prosesssporing i brukermodus. Som kjernemodus FBT, men tillater også instrumentering av vilkårlige funksjonsforskyvninger.
  • etw (Hendelsessporing for Windows) – Gjør det mulig å definere sonder for ETW. Denne leverandøren hjelper til med å utnytte eksisterende operativsysteminstrumentering i DTrace.
    • Dette er ett tillegg vi har gjort til DTrace for å la det avsløre og få all informasjonen som Windows allerede gir ETW.

Du finner flere eksempelskript som gjelder for Windows-scenarier i denne prøvekatalog.

Kilde: Microsoft

Frigjør diskplass etter installasjon av Windows 10 Spring Creators Update

Frigjør diskplass etter installasjon av Windows 10 Spring Creators Update

Hvis du installerte Windows 10 versjon 1803 "Spring Creators Update" over en tidligere Windows-ve...

Les mer

Last ned oppgavevisning kontekstmeny

Denne nettsiden bruker informasjonskapsler for å forbedre opplevelsen din mens du navigerer gjenn...

Les mer

Aktiver jevn rulling i Google Chrome

Aktiver jevn rulling i Google Chrome

ANBEFALT: Klikk her for å fikse Windows-problemer og optimalisere systemytelsenI Google Chrome er...

Les mer