„DTrace“ dabar pasiekiama sistemoje „Windows“.
Kitas „Windows 10“ funkcijų naujinys (19H1, 2019 m. balandžio mėn. naujinimas, 1903 versija) apims populiariojo atvirojo kodo derinimo ir diagnostikos įrankio „DTrace“ palaikymą. Iš pradžių jis buvo sukurtas „Solaris“ ir tapo prieinamas „Linux“, „FreeBSD“, „NetBSD“ ir „MacOS“. „Microsoft“ perkėlė jį į „Windows“.
DTrace yra dinaminė sekimo sistema, leidžianti administratoriui arba kūrėjui realiuoju laiku peržiūrėti sistemą vartotojo arba branduolio režimu. DTrace turi C stiliaus aukšto lygio ir galingą programavimo kalbą, kuri leidžia dinamiškai įterpti pėdsakų taškus. Naudodami šiuos dinamiškai įterptus pėdsakų taškus galite filtruoti pagal sąlygas ar klaidas, rašyti kodą, kad galėtumėte analizuoti užrakto modelius, aptikti aklavietes ir kt.
Sistemoje Windows DTrace išplečia įvykių sekimą, skirtą Windows (ETW), kuris yra statinis ir nesuteikia galimybės programiškai įterpti sekimo taškų vykdymo metu.
Visos dtrace.sys naudojamos API ir funkcijos yra dokumentuoti skambučiai.
„Microsoft“ įdiegė specialią „Windows 10“ tvarkyklę, leidžiančią atlikti daugybę sistemos stebėjimo vaidmenų. Vairuotojas bus įtrauktas į „Windows 10“ 1903 versiją. Be to, „DTrace“ šiuo metu reikalauja, kad „Windows“ būtų paleista su įjungtu branduolio derintuvu.
Perkelto „DTrace“ įrankio šaltinio kodą galima rasti „GitHub“. Apsilankykite puslapyje "DTrace sistemoje „Windows“.“ pagal OpenDTrace projektą „GitHub“, kad jį pamatytumėte.
Nustatykite „DTrace“ sistemoje „Windows 10“.
Būtinos sąlygos naudoti funkciją
- „Windows 10“ viešai neatskleista informacija pastatytas 18342 m arba aukščiau
- Galima tik x64 „Windows“ ir fiksuoja tik 64 bitų procesų sekimo informaciją
-
„Windows Insider“ programa yra įjungtas ir sukonfigūruotas su galiojančia „Windows Insider“ paskyra.
- Norėdami gauti daugiau informacijos, apsilankykite Nustatymai-> Atnaujinimas ir sauga-> Windows Insider programa
Instrukcijos:
-
BCD konfigūracijos rinkinys:
- bcdedit /set dtrace on
- Pastaba: jei atnaujinate į naują Insider versiją, turite dar kartą nustatyti bcdedit parinktį
-
parsisiųsti ir įdiekite DTrace paketą iš atsisiuntimo centras.
- Taip įdiegiami vartotojo režimo komponentai, tvarkyklės ir papildomų funkcijų paketai, reikalingi, kad DTrace veiktų.
- Pasirenkama: atnaujinkite PATH aplinkos kintamasis Įtraukti C:\Programų failai\DTrace
- nustatyti PATH=%PATH%;"C:\Programų failai\DTrace"
- Sąranka simbolio kelias
- Sukurkite naują katalogą, skirtą simbolių talpykloje saugoti vietoje. Pavyzdys: mkdir c:\symbols
- Nustatyti _NT_SYMBOL_PATH=srv*C:\simboliai*http://msdl.microsoft.com/download/symbols
- DTrace automatiškai atsisiunčia reikalingus simbolius iš simbolių serverio ir talpyklos į vietinį kelią.
-
Neprivaloma:Nustatykite branduolio derintuvą prijungimas prie tikslinės mašinos (MSDN nuoroda). Tai yra tik reikalingas, jei norite atsekti branduolio įvykius naudodami FBT ar kitus teikėjus.
- Atminkite, kad turėsite išjungti Secureboot ir Bitlocker C: (jei įjungta), jei norite nustatyti branduolio derinimo priemonę.
- Perkraukite tikslinė mašina
DTrace naudojimas
- Atidarykite an padidinta komandų eilutė.
- Vykdykite vieną iš šių komandų:
# Syscall santrauka pagal programą 5 sekundes: dtrace -Fn "tick-5sec { exit (0);} syscallentry{ @num[pid, execname] = count();} " # Apibendrinti laikmačio nustatymo / atšaukimo programą 3 sekundės: dtrace -Fn "tick-3sec { exit (0);} syscall:: Nt*Timer*:entry { @[probefunc, execname, pid] = count();}" # Iškelti sistemos proceso branduolio struktūrą: (reikia simbolio kelias į būti nustatytas) dtrace -n "BEGIN{print(*(struct nt`_EPROCESS *) nt`PsInitialSystemProcess);exit (0);}" # Kelių sekimas per NTFS paleidžiant notepad.exe (reikia KD a
Komanda dtrace -lvn syscall bus išvardyti visi zondai ir jų parametrai, kuriuos gali gauti iš syscall teikėjo.
Toliau pateikiami kai kurie „Windows“ operacinės sistemos teikėjai ir jų įrankiai.
- syscall – NTOS sistemos skambučiai
- fbt (Funkcijų ribų sekimas) – branduolio funkcijos įvedimas ir grąžinimas
- pid – Proceso sekimas vartotojo režimu. Kaip branduolio režimo FBT, bet taip pat leidžia naudoti savavališkus funkcijų poslinkius.
-
etw (Įvykių sekimas, skirtas Windows) – leidžia nustatyti ETW zondus. Šis teikėjas padeda panaudoti esamą operacinės sistemos įrangą DTrace.
- Tai yra vienas papildymas, kurį padarėme DTrace, kad jis galėtų atskleisti ir gauti visą informaciją, kurią Windows jau pateikia ETW.
Daugiau scenarijų pavyzdžių, taikomų „Windows“ scenarijams, rasite čia pavyzdžių katalogas.
Šaltinis: Microsoft