DTrace je dynamický sledovací rámec, který umožňuje správci nebo vývojáři nahlédnout do systému v reálném čase buď v uživatelském režimu, nebo v režimu jádra. DTrace má vysokou úroveň a výkonný programovací jazyk ve stylu C, který vám umožňuje dynamicky vkládat body sledování. Pomocí těchto dynamicky vkládaných trasovacích bodů můžete filtrovat podmínky nebo chyby, psát kód pro analýzu vzorů zámků, zjišťovat uváznutí atd.
V systému Windows rozšiřuje DTrace sledování událostí pro Windows (ETW), které je statické a neposkytuje možnost programově vkládat body sledování za běhu.
Všechna rozhraní API a funkce používané dtrace.sys jsou zdokumentovaná volání.
Společnost Microsoft implementovala speciální ovladač pro Windows 10, který umožňuje provádět řadu rolí monitorování systému. Ovladač bude součástí Windows 10 verze 1903. DTrace také aktuálně vyžaduje spuštění systému Windows s povoleným ladicím programem jádra.
Zdrojový kód pro portovaný nástroj DTrace je dostupný na GitHubu. Navštivte stránku DTrace na Windowspod projektem OpenDTrace na GitHubu, abyste to viděli.
Obsah skrýt Nastavení DTrace ve Windows 10 Pomocí DTraceNastavení DTrace ve Windows 10
Předpoklady pro použití funkce
- Zasvěcenec Windows 10sestavení 18342nebo vyšší
- Dostupné pouze nax64Windows a zachycuje informace o sledování pouze pro 64bitové procesy Program Windows Insider jepovolenoanakonfigurovános platným účtem Windows Insider Account
- Podrobnosti najdete v Nastavení->Aktualizace a zabezpečení-> Program Windows Insider
Instrukce:
- Sada konfigurace BCD:
- bcdedit /set dtrace on
- Poznámka: Pokud upgradujete na nové sestavení Insider, musíte znovu nastavit možnost bcdedit
- Tím se nainstalují součásti uživatelského režimu, ovladače a další balíčky funkcí na vyžádání, které jsou nezbytné pro funkčnost DTrace.
- Volitelné: AktualizujteProměnná prostředí PATHzahrnoutC:Program FilesDTrace
- nastavit PATH=%PATH%;'C:Program FilesDTrace'
- Založitcesta symbolu
- Vytvořte nový adresář pro místní ukládání symbolů do mezipaměti. Příklad: mkdir c:symbols
- Soubor_NT_SYMBOL_PATH=srv*C:symbols* http://msdl.microsoft.com/download/symbols
- DTrace automaticky stáhne potřebné symboly ze serveru symbolů a uloží je do mezipaměti do místní cesty.
Volitelný:Nastavit ladicí program jádrapřipojení k cílovému počítači ( Odkaz na MSDN). Tohle jepouzevyžadováno, pokud chcete sledovat události jádra pomocí FBT nebo jiných poskytovatelů. - Všimněte si, že budete muset deaktivovat Secureboot a Bitlocker na C: (pokud je povolen), pokud chcete nastavit ladicí program jádra.
Pomocí DTrace
- Otevřete příkazový řádek se zvýšenými oprávněními.
- Proveďte jeden z následujících příkazů:|_+_|
Příkazdtrace -lvn syscall:::zobrazí seznam všech sond a jejich parametrů dostupných od poskytovatele syscall.
Níže jsou uvedeni někteří z poskytovatelů dostupných v systému Windows a jejich nástroje.
- syscall – systémová volání NTOSfbt (Function Boundary Tracing) – Záznam funkce jádra a returnspid – Sledování procesu v uživatelském režimu. Stejně jako FBT v režimu jádra, ale také umožňující instrumentaci libovolné funkce offsets.etw (Sledování událostí pro Windows) – Umožňuje definovat sondy pro ETW Tento poskytovatel pomáhá využít stávající instrumentaci operačního systému v DTrace.
- Toto je jeden doplněk, který jsme provedli v DTrace, abychom mu umožnili odhalit a získat všechny informace, které systém Windows již poskytuje v S.T.W.
Více ukázkových skriptů použitelných pro scénáře Windows lze nalézt v tomto adresář vzorků.
Zdroj: Microsoft