Windows Tips & News

DTrace v systéme Windows dostáva aktualizácie 20H1 s podporou ARM64

click fraud protection
ODPORÚČANÉ: Kliknite sem, ak chcete opraviť problémy so systémom Windows a optimalizovať výkon systému

DTrace je populárny open source nástroj na ladenie a diagnostiku. Pôvodne bol vytvorený pre Solaris a stal sa dostupným pre Linux, FreeBSD, NetBSD a macOS. Microsoft ho preniesol na Windows a pridáva k nemu časť aktualizácií s aktualizáciou funkcií 20H1.

Reklama

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.

Dtrace v systéme Windows

Spoločnosť Microsoft implementovala špeciálny ovládač pre Windows 10, ktorý umožňuje vykonávať množstvo úloh monitorovania systému. Ovládač je zabudovaný v systéme Windows 10 od verzie 1903.

Počnúc od Windows 10 insider build 19041.21, DTrace prichádza s nasledujúcimi vylepšeniami.

Obsahskryť
Ukážka ARM64
Používateľský režim Stackwalk
Podpora živého výpisu
Sledovanie ETW

Ukážka ARM64

Áno, to je správne! DTrace teraz podporuje ARM64 v režime náhľadu. ARM64 MSI je k dispozícii na vyššie uvedenom odkaze na stiahnutie.

Môžete ho použiť na svojom Surface Pro X spustená najnovšia zostava Windows 10 Insider Preview (20H1), počnúc od 19041.21.

Dtrace On ArmDTrace na Surface Pro X

Používateľský režim Stackwalk

V náhľade bolo zariadenie stackwalk v DTrace obmedzené na režim jadra (zásobník). Táto aktualizácia pridáva podporu pre používateľský režim stackwalk (ustack). Rovnako ako stack, aj ustack je plne kompatibilný so špecifikáciou open source DTrace. Dá sa vyvolať tromi spôsobmi zadaním rámca (hĺbka) a veľkosti (zatiaľ ignorované) alebo neplatné.

  • Ustack (nframes, veľkosť)
  • Ustack (nframes)
  • Ustack()

Zatiaľ čo ustack () môže určiť adresu volajúceho rámca pri spustení sondy, zásobníkové rámce to urobia nebudú preložené do symbolov, kým spotrebiteľ DTrace nespracuje akciu ustack () v užívateľskom režime. Sťahovanie symbolov môže spomaliť výstup. Preto je lepšie použiť toto zariadenie so symbolmi uloženými v miestnej vyrovnávacej pamäti, ako je uvedené nižšie.

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

Podpora živého výpisu

Windows bežne používa niečo tzv Živá skládka pomôcť rýchlo diagnostikovať problémy. Živé výpisy pomáhajú pri riešení problémov týkajúcich sa viacerých procesov alebo problémov v celom systéme bez prestojov. V 20H1 možno DTrace na Windows použiť na zachytenie živého výpisu z D-scriptu pomocou lkd() Zariadenie DTrace. Bežným prípadom použitia tohto zariadenia je cesta chyby prístroja (ako návratový kód označuje zlyhanie) a zachytenie aktívneho výpisu priamo v bode zlyhania pre pokročilú diagnostiku. Ďalšie informácie o podpore živého výpisu nájdete v časti DTrace Live Dump.

dtrace -wn "syscallreturn { if (arg0 != 0xc0000001UL) { lkd (0); printf(\" Spustenie živého výpisu \n \");exit (0); }}" dtrace: popis 'syscallreturn ' zodpovedal 1411 sondám. dtrace: umožňuje deštruktívne akcie. CPU ID FUNCTION: NAME 0 181 NtDeviceIoControlFile: return Spustenie Live dump dir c:\Windows\LiveKernelReports Zväzok na jednotke C nemá označenie. Sériové číslo zväzku je 70F4-B9F6 Adresár c:\Windows\LiveKernelReports 05.11.2019 17:20<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. 

Sledovanie ETW

ETW sledovanie je najčastejšie používaný nástroj na ladenie v systéme Windows. V ukážke DTrace na Windows 19H1 sme pridali podporu pre inštrumentovanie sledovaných a manifestovaných udalostí pomocou Poskytovateľ ETW.

V 20H1 sme toto zariadenie ďalej vylepšili, aby sme vytvorili nové udalosti ETW za chodu z vnútra D-scriptu pomocou ETW_Trace() zariadení. Pomáha to v situáciách, keď sú existujúce udalosti ETW nedostatočné a chceli by ste pridať ďalšie body sledovania ETW bez úpravy produkčného kódu.

Pre viac informácií o ETW_Trace zariadení a poskytovateľ ETW, pozri DTrace ETW.

/* Spustenie vzorky poskytovateľa GitHub ETW (odkaz nižšie) na vytlačenie informačnej udalosti pamäte uzla. https://github.com/microsoft/DTrace-on-Windows/blob/master/samples/windows/etw/numamemstats.d. */ dtrace -qs numamemstats.d ID oddielu: 0. Počet: 1. Číslo uzla: 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 Obrovský počet nultých strán = 0. }

Ak máte záujem o inštaláciu DTrace, pozrite sa, ako sa to dá urobiť tu.

Môžete si stiahnuť aktualizovaný balík DTrace MSI odtiaľ.

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

Zdroj

ODPORÚČANÉ: Kliknite sem, ak chcete opraviť problémy so systémom Windows a optimalizovať výkon systému
Zmeňte dni, po ktorých vyprázdnite kôš systému Windows 10

Zmeňte dni, po ktorých vyprázdnite kôš systému Windows 10

Windows 10 obsahuje možnosť automaticky vyprázdniť kôš alebo odstrániť dočasné súbory, aby sa uvo...

Čítaj viac

Vypnite podporu Unix Line Endings v programe Windows Poznámkový blok

Vypnite podporu Unix Line Endings v programe Windows Poznámkový blok

ODPORÚČANÉ: Kliknite sem, ak chcete opraviť problémy so systémom Windows a optimalizovať výkon sy...

Čítaj viac

Vymažte a resetujte vyrovnávaciu pamäť externého displeja v systéme Windows 10

Vymažte a resetujte vyrovnávaciu pamäť externého displeja v systéme Windows 10

ODPORÚČANÉ: Kliknite sem, ak chcete opraviť problémy so systémom Windows a optimalizovať výkon sy...

Čítaj viac