Windows Tips & News

DTrace je nyní k dispozici ve Windows

Příští aktualizace funkcí systému Windows 10 (19H1, aktualizace z dubna 2019, verze 1903) bude zahrnovat podporu pro DTrace, oblíbený open source nástroj pro ladění a diagnostiku. Původně byl vytvořen pro Solaris a stal se dostupným pro Linux, FreeBSD, NetBSD a macOS. Microsoft jej přenesl do Windows.

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 v systému Windows” pod projektem OpenDTrace na GitHubu.

Nastavení DTrace ve Windows 10

Předpoklady pro použití funkce

  • Zasvěcenec do Windows 10 sestavení 18342 nebo vyšší
  • Dostupné pouze na x64 Windows a zachycuje informace o sledování pouze pro 64bitové procesy
  • Program Windows Insider je povoleno a nakonfigurováno s platným účtem Windows Insider.
    • Podrobnosti najdete v Nastavení->Aktualizace a zabezpečení-> Program Windows Insider

Instrukce:

  1. Sada konfigurace BCD:
    1. bcdedit /set dtrace on
    2. Poznámka: Pokud upgradujete na nové sestavení Insider, musíte znovu nastavit možnost bcdedit
  2. Stažení a nainstalujte balíček DTrace z centrum stahování.
    1. 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.
  3. Volitelné: Aktualizujte Proměnná prostředí PATH zahrnout C:\Program Files\DTrace
    1. nastavit PATH=%PATH%;"C:\Program Files\DTrace"
  4. Založit cesta symbolu
    1. Vytvořte nový adresář pro místní ukládání symbolů do mezipaměti. Příklad: mkdir c:\symbols
    2. Soubor _NT_SYMBOL_PATH=srv*C:\symbols*http://msdl.microsoft.com/download/symbols
    3. DTrace automaticky stáhne potřebné symboly ze serveru symbolů a uloží je do mezipaměti do místní cesty.
  5. Volitelný:Nastavit ladicí program jádra připojení k cílovému počítači (Odkaz na MSDN). Tohle je pouze vyžadováno, pokud chcete sledovat události jádra pomocí FBT nebo jiných poskytovatelů.
    1. Všimněte si, že budete muset deaktivovat Secureboot a Bitlocker na C: (pokud je povolen), pokud chcete nastavit ladicí program jádra.
  6. Restartujte cílový stroj

Pomocí DTrace

  1. Otevřete an zvýšený příkazový řádek.
  2. Proveďte jeden z následujících příkazů:
    # Shrnutí systémového volání programem po dobu 5 sekund: dtrace -Fn "tick-5sec { exit (0);} syscallentry{ @num[pid, execname] = count();} " # Shrnutí nastavení časovače/zrušení programu na 3 sekund: dtrace -Fn "tick-3sec { exit (0);} syscall:: Nt*Timer*:entry { @[probefunc, execname, pid] = count();}" # Vypsat strukturu jádra procesu systému: (vyžaduje cesta k symbolu být nastaven) dtrace -n "BEGIN{print(*(struct nt`_EPROCESS *) nt`PsInitialSystemProcess);exit (0);}" # Trasování cest přes NTFS při spuštění notepad.exe (vyžaduje KD a

Příkaz dtrace -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.

  • systémové volání – Systémová volání NTOS
  • fbt (Function Boundary Tracing) – Vstup a návrat funkce jádra
  • pid – Sledování procesů v uživatelském režimu. Stejně jako FBT v režimu jádra, ale také umožňuje instrumentaci libovolných offsetů funkcí.
  • 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 přírůstek, který jsme udělali pro DTrace, abychom mu umožnili odhalit a získat všechny informace, které Windows již poskytuje v ETW.

Více vzorových skriptů použitelných pro scénáře Windows lze nalézt v tomto adresář vzorků.

Zdroj: Microsoft

Oprava: YouTube a Disk Google jsou ve Firefoxu Nightly nefunkční

Oprava: YouTube a Disk Google jsou ve Firefoxu Nightly nefunkční

DOPORUČUJEME: Kliknutím sem opravíte problémy se systémem Windows a optimalizujete výkon systémuV...

Přečtěte si více

Edge Chromium přijímá předpověď počasí a pozdravy na stránce Nová karta

Edge Chromium přijímá předpověď počasí a pozdravy na stránce Nová karta

2 OdpovědiEdge Insiders zaznamenali ještě další změnu. Nová záložka nyní může zobrazovat předpově...

Přečtěte si více

Microsoft vydává Office Build 12430.20000 pro zasvěcené

Microsoft vydává Office Build 12430.20000 pro zasvěcené

DOPORUČUJEME: Kliknutím sem opravíte problémy se systémem Windows a optimalizujete výkon systémuS...

Přečtěte si více