Windows Tips & News

DTrace na Windows dostává své aktualizace 20H1 s podporou ARM64

click fraud protection
DOPORUČUJEME: Kliknutím sem opravíte problémy se systémem Windows a optimalizujete výkon systému

DTrace je populární open source ladicí a diagnostický nástroj. Původně byl vytvořen pro Solaris a stal se dostupným pro Linux, FreeBSD, NetBSD a macOS. Microsoft jej přenesl na Windows a přidává k němu část aktualizací s aktualizací funkcí 20H1.

reklama

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í.

Dtrace na Windows

Společnost Microsoft implementovala speciální ovladač pro Windows 10, který umožňuje provádět řadu rolí monitorování systému. Ovladač je zabudován ve Windows 10 počínaje verzí 1903.

Počínaje Windows 10 insider build 19041.21 přichází DTrace s následujícími vylepšeními.

Obsahskrýt
Náhled ARM64
Uživatelský režim Stackwalk
Podpora živého výpisu
ETW sledování

Náhled ARM64

Ano to je správně! DTrace nyní podporuje ARM64 v režimu náhledu. ARM64 MSI je k dispozici na výše uvedeném odkazu ke stažení.

Můžete jej použít na svém Surface Pro X běží nejnovější sestavení Windows 10 Insider Preview (20H1), počínaje 19041.21.

Dtrace na pažiDTrace na Surface Pro X

Uživatelský režim Stackwalk

V náhledu byla funkce stackwalk v DTrace omezena na režim jádra (stack). Tato aktualizace přidává podporu pro uživatelský režim stackwalk (ustack). Stejně jako stack je i ustack zařízení plně kompatibilní s open source specifikací DTrace. Lze jej vyvolat třemi způsoby zadáním rámců (hloubka) a velikosti (prozatím ignorováno) nebo void.

  • Ustack (nframes, velikost)
  • Ustack (nframes)
  • Ustack()

Zatímco ustack () může určit adresu volajícího rámce, když se spustí sonda, zásobníkové rámce ano nebudou převedeny na symboly, dokud nebude akce ustack () zpracována v uživatelském režimu spotřebitelem DTrace. Stahování symbolů může zpomalit výstup. Proto je lepší používat toto zařízení s místně uloženými symboly, jak je uvedeno níže.

dtrace -n "profil-1ms /arg1/ {ustack (50, 0); exit (0);} " -y C:\symboly. dtrace: popis 'profile-1ms' odpovídá 1 sondě. CPU ID FUNKCE: NAME 0 3802 :profile-1ms ntdll`ZwAllocateVirtualMemory+0x14 ntdll`RtlAllocateHeap+0x3ded ntdll`RtlAllocateHeap+0x763 ucrtbase`malloc_base+0x44

Podpora živého výpisu

Windows běžně používá něco tzv Živá skládka pomoci rychle diagnostikovat problémy. Živé výpisy pomáhají s řešením problémů zahrnujících více procesů nebo problémů v celém systému bez prostojů. V 20H1 lze DTrace na Windows použít k zachycení živého výpisu z D-scriptu pomocí lkd() Zařízení DTrace. Běžným případem použití tohoto zařízení je cesta k chybě přístroje (jako návratový kód označuje selhání) a zachycení živého výpisu přímo v bodě selhání pro pokročilou diagnostiku. Další informace o podpoře živého výpisu viz DTrace Live Dump.

dtrace -wn "syscallreturn { if (arg0 != 0xc0000001UL) { lkd (0); printf(\" Spouštění živého výpisu \n \");exit (0); }}" dtrace: popis 'syscallreturn ' odpovídal 1411 sondám. dtrace: umožňuje destruktivní akce. CPU ID FUNCTION: NAME 0 181 NtDeviceIoControlFile: return Spouštění živého výpisu dir c:\Windows\LiveKernelReports Svazek na jednotce C nemá žádné označení. Sériové číslo svazku je 70F4-B9F6 Adresář c:\Windows\LiveKernelReports 11/05/2019 17:20 PM<DIR>. 11.05.2019 17:20 <DIR>.. 11.05.2019 17:19 <DIR> DTRACE. 11.05.2019 17:20 53 395 456 DTRACE-20191105-1720.dmp. 

ETW sledování

ETW trasování je nejčastěji používaným nástrojem pro ladění ve Windows. V náhledu DTrace na Windows 19H1 jsme přidali podporu pro instrumentaci tracelogovaných a manifestovaných událostí pomocí poskytovatel ETW.

V 20H1 jsme dále vylepšili toto zařízení, abychom mohli vytvářet nové ETW události za běhu z D-scriptu pomocí ETW_Trace() zařízení. To pomáhá v situacích, kdy jsou stávající události ETW nedostatečné a chtěli byste přidat další trasovací body ETW bez úpravy produkčního kódu.

Pro více informací o ETW_Trace zařízení a poskytovatel ETW, vidět DTrace ETW.

/* Spuštění ukázky poskytovatele GitHub ETW (odkaz níže) pro tisk události informací o paměti uzlu. https://github.com/microsoft/DTrace-on-Windows/blob/master/samples/windows/etw/numamemstats.d. */ dtrace -qs numamemstats.d ID oddílu: 0. Počet: 1. Číslo uzlu: 1. m_nodeinfo { uint64_t TotalPageCount = 0x1fb558 uint64_t SmallFreePageCount = 0x41 uint64_t SmallZeroPageCount = 0 uint64_t MediumFreePageCount = 0 uint64_t MediumZeroPageCount = 0 uint64_t LargeFreePageCount = 0 uint64_t LargeZeroPageCount = 0 uint64_t HugeFreePageCount = 0 uint64_t HugeZeroPageCount = 0. }

Pokud máte zájem o instalaci DTrace, podívejte se, jak to lze provést tady.

Můžete si stáhnout aktualizovaný balíček DTrace MSI odtud.

Tady je to zdrojový kód a pokročilé skripty.

Zdroj

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

Archivy s tématem Trick or Treat Halloween

Tento web používá soubory cookie ke zlepšení vašeho zážitku při procházení webem. Z těchto soubor...

Přečtěte si více

Připnout více než 3 kontakty na hlavní panel ve Windows 10

Připnout více než 3 kontakty na hlavní panel ve Windows 10

Jak už možná víte, počínaje Fall Creators Update přichází Windows 10 s novou funkcí „My People“. ...

Přečtěte si více

Přidejte mezeru za návrh textu pro hardwarovou klávesnici ve Windows 10

Přidejte mezeru za návrh textu pro hardwarovou klávesnici ve Windows 10

Zanechte odpověďWindows 10 obsahuje dotykovou klávesnici pro počítače a tablety s dotykovou obraz...

Přečtěte si více