Windows Tips & News

DTrace tagad ir pieejams operētājsistēmā Windows

click fraud protection

Nākamais Windows 10 līdzekļa atjauninājums (19H1, 2019. gada aprīļa atjauninājums, versija 1903) ietvers atbalstu DTrace — populārajam atvērtā koda atkļūdošanas un diagnostikas rīkam. Sākotnēji tas tika izveidots Solaris un kļuva pieejams operētājsistēmām Linux, FreeBSD, NetBSD un macOS. Microsoft to ir pārnesis uz Windows.

DTrace ir dinamiska izsekošanas sistēma, kas ļauj administratoram vai izstrādātājam reāllaikā apskatīt sistēmu lietotāja vai kodola režīmā. DTrace ir C stila augsta līmeņa un jaudīga programmēšanas valoda, kas ļauj dinamiski ievietot izsekošanas punktus. Izmantojot šos dinamiski ievietotos izsekošanas punktus, varat filtrēt apstākļus vai kļūdas, rakstīt kodu, lai analizētu bloķēšanas modeļus, atklātu strupceļus utt.

Operētājsistēmā Windows DTrace paplašina notikumu izsekošanu operētājsistēmai Windows (ETW), kas ir statiska un nenodrošina iespēju programmatiski ievietot izsekošanas punktus izpildlaikā.

Visas API un funkcionalitātes, ko izmanto dtrace.sys, ir dokumentēti izsaukumi.

Microsoft ir ieviesis īpašu draiveri operētājsistēmai Windows 10, kas ļauj veikt vairākas sistēmas uzraudzības lomas. Draiveris tiks iekļauts Windows 10 versijā 1903. Turklāt programmai DTrace pašlaik ir nepieciešams startēt Windows ar iespējotu kodola atkļūdotāju.

Pārnestā DTrace rīka pirmkods ir pieejams vietnē GitHub. Apmeklējiet lapu "DTrace operētājsistēmā Windows” OpenDTrace projektā GitHub, lai to redzētu.

Iestatiet DTrace operētājsistēmā Windows 10

Funkcijas izmantošanas priekšnoteikumi

  • Windows 10 iekšējā informācija būvēt 18342 vai augstāks
  • Pieejams tikai uz x64 Windows un tver izsekošanas informāciju tikai 64 bitu procesiem
  • Windows Insider programma ir iespējots un konfigurēts ar derīgu Windows Insider kontu.
    • Detalizētu informāciju skatiet sadaļā Iestatījumi-> Atjaunināšana un drošība-> Windows Insider programma

Instrukcijas:

  1. BCD konfigurācijas komplekts:
    1. bcdedit /set dtrace on
    2. Ņemiet vērā, ka, jauninot uz jaunu Insider būvējumu, vēlreiz jāiestata opcija bcdedit
  2. Lejupielādēt un instalējiet DTrace pakotni no lejupielādes centrs.
    1. Tādējādi tiek instalēti lietotāja režīma komponenti, draiveri un papildu funkciju pakotnes, kas nepieciešamas, lai DTrace darbotos.
  3. Neobligāti: atjauniniet PATH vides mainīgais iekļaut C:\Program Files\DTrace
    1. set PATH=%PATH%;"C:\Program Files\DTrace"
  4. Uzstādīt simbolu ceļš
    1. Izveidojiet jaunu direktoriju simbolu lokālai saglabāšanai kešatmiņā. Piemērs: mkdir c:\symbols
    2. Iestatīt _NT_SYMBOL_PATH=srv*C:\symbols*http://msdl.microsoft.com/download/symbols
    3. DTrace automātiski lejupielādē nepieciešamos simbolus no simbolu servera un kešatmiņas uz vietējo ceļu.
  5. Neobligāti:Iestatiet kodola atkļūdotāju savienojums ar mērķa mašīnu (MSDN saite). Tas ir tikai nepieciešams, ja vēlaties izsekot kodola notikumiem, izmantojot FBT vai citus pakalpojumu sniedzējus.
    1. Ņemiet vērā, ka jums būs jāatspējo Secureboot un Bitlocker operētājsistēmā C: (ja ir iespējots), ja vēlaties iestatīt kodola atkļūdotāju.
  6. Reboot mērķa mašīna

Izmantojot DTrace

  1. Atveriet an paaugstināta komandu uzvedne.
  2. Izpildiet vienu no šīm komandām:
    # Syscall kopsavilkums pēc programmas 5 sekundes: dtrace -Fn "tick-5sec { exit (0);} syscallentry{ @num[pid, execname] = count();} " # Apkopojiet taimera iestatīšanas/atcelšanas programmu 3 sekundes: dtrace -Fn "tick-3sec { exit (0);} syscall:: Nt*Timer*:entry { @[probefunc, execname, pid] = count();}" # Dump System Process kodola struktūra: (nepieciešams simbola ceļš uz jābūt iestatītam) dtrace -n "BEGIN{print(*(struct nt`_EPROCESS *) nt`PsInitialSystemProcess);exit (0);}" # Izsekošanas ceļi caur NTFS, palaižot notepad.exe (nepieciešams KD a

Komanda dtrace -lvn syscall tiks uzskaitītas visas zondes un to parametri, kas pieejami no syscall nodrošinātāja.

Tālāk ir norādīti daži no pakalpojumu sniedzējiem, kas ir pieejami operētājsistēmā Windows, un to instrumenti.

  • syscall – NTOS sistēmas zvani
  • fbt (Funkciju robežu izsekošana) — kodola funkcijas ievade un atgriešana
  • pid – procesa izsekošana lietotāja režīmā. Tāpat kā kodola režīma FBT, bet arī ļauj izmantot patvaļīgu funkciju nobīdi.
  • etw (Notikumu izsekošana operētājsistēmai Windows) — ļauj definēt ETW zondes. Šis nodrošinātājs palīdz izmantot esošo operētājsistēmas instrumentu DTrace.
    • Šis ir viens papildinājums, ko esam veikuši DTrace, lai ļautu tai atklāt un iegūt visu informāciju, ko Windows jau sniedz ETW.

Vairāk skriptu paraugu, kas piemērojami Windows scenārijiem, var atrast šeit paraugu katalogs.

Avots: Microsoft

Mainiet tīkla atrašanās vietas veidu, izmantojot PowerShell operētājsistēmā Windows 10

Mainiet tīkla atrašanās vietas veidu, izmantojot PowerShell operētājsistēmā Windows 10

IETEICAMS: Noklikšķiniet šeit, lai labotu Windows problēmas un optimizētu sistēmas veiktspējuVien...

Lasīt vairāk

Programmā PowerShell trūkst instalēšanas moduļa, kā labot

Programmā PowerShell trūkst instalēšanas moduļa, kā labot

IETEICAMS: Noklikšķiniet šeit, lai labotu Windows problēmas un optimizētu sistēmas veiktspējuMicr...

Lasīt vairāk

Pievienojiet jaunas populārākās vietnes jaunai cilnes lapai pārlūkprogrammā Firefox

Pievienojiet jaunas populārākās vietnes jaunai cilnes lapai pārlūkprogrammā Firefox

IETEICAMS: Noklikšķiniet šeit, lai labotu Windows problēmas un optimizētu sistēmas veiktspējuKā j...

Lasīt vairāk