Windows Tips & News

DTrace Windowsis saab oma 20H1 värskendused koos ARM64 toega

click fraud protection
SOOVITATAV: Windowsi probleemide lahendamiseks ja süsteemi jõudluse optimeerimiseks klõpsake siin

DTrace on populaarne avatud lähtekoodiga silumis- ja diagnostikatööriist. See loodi algselt Solarise jaoks ja sai kättesaadavaks Linuxi, FreeBSD, NetBSD ja macOS-i jaoks. Microsoft on selle üle kandnud Windowsi ja lisab sellele funktsioonivärskendusega 20H1 osa värskendustest.

Reklaam

DTrace on dünaamiline jälgimisraamistik, mis võimaldab administraatoril või arendajal vaadata süsteemi reaalajas kas kasutaja või kerneli režiimis. DTrace'il on C-stiilis kõrgetasemeline ja võimas programmeerimiskeel, mis võimaldab jälituspunkte dünaamiliselt sisestada. Neid dünaamiliselt sisestatud jälgimispunkte kasutades saate filtreerida tingimusi või vigu, kirjutada koodi lukumustrite analüüsimiseks, tuvastada ummikuid jne.

Windowsis laiendab DTrace Windowsi sündmuste jälgimist (ETW), mis on staatiline ja ei võimalda käivitamise ajal jälituspunkte programmiliselt sisestada.

Kõik dtrace.sys kasutatavad API-d ja funktsioonid on dokumenteeritud kõned.

Dtrace Windowsis

Microsoft on juurutanud Windows 10 jaoks spetsiaalse draiveri, mis võimaldab täita mitmeid süsteemi jälgimise rolle. Draiver on sisse ehitatud Windows 10-sse alates versioonist 1903.

Alates Windows 10 siseringi järgust 19041.21 on DTrace'il järgmised täiustused.

Sisupeita
ARM64 eelvaade
Kasutajarežiim Stackwalk
Live dump tugi
ETW jälgimine

ARM64 eelvaade

Jah see on õige! DTrace toetab nüüd ARM64 eelvaaterežiimis. ARM64 MSI on saadaval ülaltoodud allalaadimislingil.

Saate seda oma peal kasutada Surface Pro X kus töötab uusim Windows 10 Insider Preview (20H1) järg, alustades 19041.21.

Dtrace On ArmDTrace Surface Pro X-is

Kasutajarežiim Stackwalk

Eelvaates piirdus DTrace'i stackwalki funktsioon Kerneli režiimiga (virnu). See värskendus lisab kasutajarežiimi stackwalk rajatise toe (ustack). Sarnaselt virnaga ühildub ka ustacki seade täielikult avatud lähtekoodiga DTrace'i spetsifikatsiooniga. Seda saab kutsuda kolmel viisil, määrates raamid (sügavus) ja suuruse (praegu ignoreeritakse) või tühine.

  • Ustack (nframes, suurus)
  • Ustack (nframes)
  • Ustack()

Kuigi ustack () saab määrata kutsuva kaadri aadressi, kui sond käivitub, siis pinu kaadrid ei tõlgita sümboliteks enne, kui DTrace'i tarbija on ustack () toimingut kasutajarežiimis töötlenud. Sümbolite allalaadimine võib väljundit aeglustada. Seetõttu on parem kasutada seda võimalust kohaliku vahemällu salvestatud sümbolitega, nagu allpool.

dtrace -n "profiil-1ms /arg1/ {ustack (50, 0); exit (0);} " -y C:\symbols. dtrace: kirjeldus 'profiil-1ms' vastas 1 sondile. CPU ID FUNKTSIOON: NAME 0 3802 :profile-1ms ntdll`ZwAllocateVirtualMemory+0x14 ntdll`RtlAllocateHeap+0x3ded ntdll`RtlAllocateHeap+0x763 ucrtbase`malloc_base+0x44

Live dump tugi

Windows kasutab tavaliselt midagi nn Live prügila et aidata probleeme kiiresti diagnoosida. Reaalajas dumps aitab lahendada probleeme, mis hõlmavad mitut protsessi või kogu süsteemi hõlmavaid probleeme, ilma seisakuta. 20. tunnil saab DTrace'i Windowsis kasutada D-skripti reaalajas tõmmise jäädvustamiseks, kasutades lkd() DTrace'i rajatis. Selle võimaluse tavaline kasutusjuhtum on tõrketee mõõtmine (nagu tagastamiskood näitab tõrget) ja otseteed otse rikkepunktis täpsema diagnostika jaoks. Lisateabe saamiseks reaalajas dump-toe kohta vt DTrace Live Dump.

dtrace -wn "syscallreturn { if (arg0 != 0xc0000001UL) { lkd (0); printf(\" Reaalajas dump'i käivitamine \n \");exit (0); }}" dtrace: kirjeldus 'syscallreturn' vastas 1411 proovile. dtrace: destruktiivsete toimingute lubamine. CPU ID FUNKTSIOON: NAME 0 181 NtDeviceIoControlFile: return Käivitab reaalajas dump dir c:\Windows\LiveKernelReports Draivi C köitel pole silti. Köite seerianumber on 70F4-B9F6 Kataloog c:\Windows\LiveKernelReports 11.05.2019 17:20<REŽ>. 05.11.2019 17:20 <REŽ>.. 05.11.2019 17:19 <REŽ> DTRACE. 05.11.2019 17:20 53 395 456 DTRACE-20191105-1720.dmp. 

ETW jälgimine

ETW jälgimine on Windowsis kõige sagedamini kasutatav tööriist silumiseks. Windows 19H1 eelvaate DTrace'is lisasime toe jälgitavate ja manifesteeritud sündmuste mõõtmiseks, kasutades ETW pakkuja.

20. poolaastal täiustasime seda võimalust veelgi, et luua uusi ETW sündmusi D-skripti seest, kasutades ETW_Trace() rajatis. See aitab olukordades, kus olemasolevatest ETW sündmustest ei piisa ja soovite lisada täiendavaid ETW jälgimispunkte ilma tootmiskoodi muutmata.

Lisateabe saamiseks ETW_Trace rajatis ja ETW pakkuja, vaata DTrace ETW.

/* GitHubi ETW pakkuja näidise (link allpool) käitamine sõlme mälu teabesündmuse printimiseks. https://github.com/microsoft/DTrace-on-Windows/blob/master/samples/windows/etw/numamemstats.d. */ dtrace -qs numamemstats.d Sektsiooni ID: 0. Arv: 1. Sõlme number: 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. }

Kui olete huvitatud DTrace'i installimisest, vaadake, kuidas seda teha siin.

Saate alla laadida värskendatud DTrace MSI paketi siit.

Siin see on lähtekood ja täiustatud skriptid.

Allikas

SOOVITATAV: Windowsi probleemide lahendamiseks ja süsteemi jõudluse optimeerimiseks klõpsake siin
Inimeste lisamise või eemaldamise ikoon Windows 10 tegumiribalt

Inimeste lisamise või eemaldamise ikoon Windows 10 tegumiribalt

Järgmist suuremat värskendust Windows 10 jaoks, mida praegu tuntakse nime all "Redstone 3", on oo...

Loe rohkem

Eksportige ja importige WSL Linux Distro operatsioonisüsteemis Windows 10

Eksportige ja importige WSL Linux Distro operatsioonisüsteemis Windows 10

SOOVITATAV: Windowsi probleemide lahendamiseks ja süsteemi jõudluse optimeerimiseks klõpsake siin...

Loe rohkem

Kustutage kinni jäänud tööd Windows 10 printerijärjekorrast

Kustutage kinni jäänud tööd Windows 10 printerijärjekorrast

SOOVITATAV: Windowsi probleemide lahendamiseks ja süsteemi jõudluse optimeerimiseks klõpsake siin...

Loe rohkem