DTrace je dynamický rámec sledovania, ktorý umožňuje správcovi alebo vývojárovi nahliadnuť do systému v reálnom čase v režime používateľa alebo jadra. DTrace má vysokú úroveň a výkonný programovací jazyk v štýle C, ktorý vám umožňuje dynamicky vkladať body sledovania. Pomocou týchto dynamicky vložených bodov sledovania môžete filtrovať podmienky alebo chyby, písať kód na analýzu vzorov zámkov, zisťovať uviaznutia atď.
V systéme Windows DTrace rozširuje sledovanie udalostí pre Windows (ETW), ktoré je statické a neposkytuje možnosť programovo vkladať body sledovania za behu.
Všetky API a funkcie používané dtrace.sys sú zdokumentované volania.
Spoločnosť Microsoft implementovala špeciálny ovládač pre Windows 10, ktorý umožňuje vykonávať množstvo úloh monitorovania systému. Ovládač bude súčasťou systému Windows 10 verzie 1903. DTrace tiež v súčasnosti vyžaduje spustenie systému Windows s povoleným ladiacim programom jadra.
Zdrojový kód pre portovaný nástroj DTrace je dostupný na GitHub. Navštívte stránku DTrace v systéme Windowsv rámci projektu OpenDTrace na GitHub, aby ste si ho mohli pozrieť.
Obsah skryť Nastavte DTrace v systéme Windows 10 Pomocou DTraceNastavte DTrace v systéme Windows 10
Predpoklady na používanie funkcie
- Windows 10 insiderstavba 18342alebo vyššie
- Dostupné iba nax64Windows a zachytáva informácie o sledovaní iba pre 64-bitové procesy Program Windows Insider jepovolenéanakonfigurovanýs platným účtom Windows Insider Account
- Podrobnosti nájdete v časti Nastavenia->Aktualizácia a zabezpečenie-> Program Windows Insider
Inštrukcie:
- Konfiguračná sada BCD:
- bcdedit /set dtrace on
- Upozorňujeme, že ak inovujete na novú zostavu Insider, musíte znova nastaviť možnosť bcdedit
- Týmto sa nainštalujú komponenty užívateľského režimu, ovládače a ďalšie balíky funkcií na vyžiadanie, ktoré sú potrebné na fungovanie DTrace.
- Voliteľné: Aktualizujte súborpremenná prostredia PATHzahrnúťC:Program FilesDTrace
- nastaviť PATH=%PATH%;'C:Program FilesDTrace'
- Nastaviťcesta symbolov
- Vytvorte nový adresár na lokálne ukladanie symbolov do vyrovnávacej pamäte. Príklad: mkdir c:symbols
- Set_NT_SYMBOL_PATH=srv*C:symbols* http://msdl.microsoft.com/download/symbols
- DTrace automaticky stiahne potrebné symboly zo servera symbolov a uloží ich do pamäte cache na lokálnu cestu.
Voliteľné:Nastavte ladiaci program jadrapripojenie k cieľovému stroju ( Odkaz na MSDN). Toto jeibavyžaduje sa, ak chcete sledovať udalosti jadra pomocou FBT alebo iných poskytovateľov. - Upozorňujeme, že ak chcete nastaviť ladiaci program jadra, budete musieť vypnúť Secureboot a Bitlocker na C: (ak je povolený).
Pomocou DTrace
- Otvorte zvýšený príkazový riadok.
- Vykonajte jeden z nasledujúcich príkazov:|_+_|
Príkazdtrace -lvn syscall:::zobrazí zoznam všetkých sond a ich parametrov dostupných od poskytovateľa syscall.
Nasledujú niektorí poskytovatelia dostupní v systéme Windows a ich nástroje.
- syscall – systémové volania NTOSfbt (Function Boundary Tracing) – Zadanie funkcie jadra a returnspid – Sledovanie procesov v užívateľskom režime. Podobne ako FBT v režime jadra, ale tiež umožňujúci inštrumentáciu ľubovoľnej funkcie offsets.etw (sledovanie udalostí pre Windows) – Umožňuje definovať sondy pre ETW Tento poskytovateľ pomáha využiť existujúce vybavenie operačného systému v DTrace.
- Toto je jeden doplnok, ktorý sme urobili pre DTrace, aby sme mu umožnili odhaliť a získať všetky informácie, ktoré už Windows poskytuje v S.T.W.
Viac vzorových skriptov použiteľných pre scenáre Windows nájdete v tomto adresár vzoriek.
Zdroj: Microsoft