Windows Tips & News

DTrace Windowsissa vastaanottaa 20H1-päivityksensä ARM64-tuen avulla

click fraud protection
SUOSITELTU: Napsauta tätä korjataksesi Windows-ongelmat ja optimoidaksesi järjestelmän suorituskyvyn

DTrace on suosittu avoimen lähdekoodin virheenkorjaus- ja diagnostiikkatyökalu. Se on alun perin rakennettu Solarisille, ja se tuli saataville Linuxille, FreeBSD: lle, NetBSD: lle ja macOS: lle. Microsoft on siirtänyt sen Windowsiin ja lisää siihen osan päivityksistä 20H1-ominaisuuspäivityksellä.

Mainos

DTrace on dynaaminen jäljityskehys, jonka avulla järjestelmänvalvoja tai kehittäjä voi tarkastella järjestelmää reaaliajassa joko käyttäjä- tai ydintilassa. DTracessa on C-tyylinen korkeatasoinen ja tehokas ohjelmointikieli, jonka avulla voit lisätä jäljityspisteitä dynaamisesti. Näiden dynaamisesti lisättyjen jäljityspisteiden avulla voit suodattaa ehtoja tai virheitä, kirjoittaa koodia lukituskuvioiden analysoimiseksi, havaita lukkiutumia jne.

Windowsissa DTrace laajentaa Event Tracing for Windows (ETW) -toimintoa, joka on staattinen eikä tarjoa mahdollisuutta lisätä ohjelmallisesti jäljityspisteitä suorituksen aikana.

Kaikki dtrace.sys: n käyttämät API: t ja toiminnot ovat dokumentoituja kutsuja.

Dtrace Windowsissa

Microsoft on ottanut käyttöön erityisen ajurin Windows 10:lle, joka mahdollistaa useiden järjestelmän valvontatehtävien suorittamisen. Ohjain on rakennettu Windows 10:een versiosta 1903 alkaen.

Windows 10:n sisäpiiriversiosta 19041.21 alkaen DTrace sisältää seuraavat parannukset.

Sisällyspiilottaa
ARM64 esikatselu
Käyttäjätila Stackwalk
Live dump-tuki
ETW: n jäljitys

ARM64 esikatselu

Kyllä se on oikein! DTrace tukee nyt ARM64:ää esikatselutilassa. ARM64 MSI on saatavilla yllä mainitusta latauslinkistä.

Voit käyttää sitä omassasi Surface Pro X uusin Windows 10 Insider Preview (20H1) -versio, alkaen 19041.21.

Dtrace On ArmDTrace Surface Pro X: ssä

Käyttäjätila Stackwalk

Esikatselussa DTracen stackwalk-toiminto rajoitettiin ydintilaan (pino). Tämä päivitys lisää tuen usermode stackwalk -toiminnolle (ustack). Kuten pino, ustack-toiminto on täysin yhteensopiva avoimen lähdekoodin DTrace-määrityksen kanssa. Sitä voidaan kutsua kolmella tavalla määrittämällä kehykset (syvyys) ja koko (jätetty huomioimatta toistaiseksi) tai mitätöimällä.

  • Ustack (nframes, koko)
  • Ustack (nframes)
  • Ustack()

Vaikka ustack () voi määrittää kutsuvan kehyksen osoitteen, kun luotain laukeaa, pinokehykset ei käännetä symboleiksi ennen kuin DTracen kuluttaja on käsitellyt ustack () -toiminnon käyttäjätilassa. Symbolien lataus voi hidastaa tulostusta. Siksi on parempi käyttää tätä ominaisuutta paikallisesti välimuistissa olevien symbolien kanssa, kuten alla.

dtrace -n "profiili-1ms /arg1/ {ustack (50, 0); exit (0);} " -y C:\symbols. dtrace: kuvaus 'profiili-1ms' vastasi 1 anturia. CPU ID TOIMINTO: NIMI 0 3802 :profile-1ms ntdll`ZwAllocateVirtualMemory+0x14 ntdll`RtlAllocateHeap+0x3ded ntdll`RtlAllocateHeap+0x763 ucrtbase`malloc_base+0x44

Live dump-tuki

Windows käyttää yleensä jotain ns Live dump auttaa diagnosoimaan ongelmia nopeasti. Live dumpit auttavat useisiin prosesseihin liittyvien ongelmien tai järjestelmän laajuisten ongelmien vianmäärityksessä ilman seisokkeja. 20H1:n DTracella Windowsissa voidaan kaapata live dump D-skriptin sisältä käyttämällä lkd() DTrace-palvelu. Tämän toiminnon yleinen käyttötapa on instrumentoida virhepolku (kuten paluukoodi ilmaisee vikaa) ja siepata live dump suoraan vikapisteessä edistyneen diagnosoinnin vuoksi. Katso lisätietoja live dump -tuesta DTrace Live Dump.

dtrace -wn "syscallreturn { if (arg0 != 0xc0000001UL) { lkd (0); printf(\" Live dumpin laukaiseminen \n \");exit (0); }}" dtrace: kuvaus 'syscallreturn' vastasi 1411 koetinta. dtrace: tuhoavien toimien salliminen. CPU ID TOIMINTO: NIMI 0 181 NtDeviceIoControlFile: return Käynnistää Live dump dir c:\Windows\LiveKernelReports Aseman C asemalla ei ole tunnistetta. Volyymin sarjanumero on 70F4-B9F6 Hakemisto c:\Windows\LiveKernelReports 11.5.2019 17:20<OHJ>. 11.5.2019 klo 17:20 <OHJ>.. 11.5.2019 klo 17:19 <OHJ> DTRACE. 11.5.2019 17:20 53 395 456 DTRACE-20191105-1720.dmp. 

ETW: n jäljitys

ETW: n jäljitys on useimmin käytetty työkalu virheenkorjaukseen Windowsissa. DTracessa Windows 19H1 -esikatselussa lisäsimme tuen jäljitettyjen ja manifestoitujen tapahtumien instrumentointiin käyttämällä ETW-palveluntarjoaja.

20H1 paransimme tätä toimintoa edelleen luodaksemme uusia ETW-tapahtumia lennossa D-skriptin sisältä käyttämällä ETW_Trace() laitos. Tämä auttaa tilanteissa, joissa nykyiset ETW-tapahtumat eivät riitä ja haluat lisätä ETW-jäljityspisteitä muuttamatta tuotantokoodia.

Lisätietoja aiheesta ETW_Trace laitos ja ETW-palveluntarjoaja, katso DTrace ETW.

/* Suoritetaan GitHub ETW -palveluntarjoajan esimerkki (linkki alla) solmumuistin tietotapahtuman tulostamiseksi. https://github.com/microsoft/DTrace-on-Windows/blob/master/samples/windows/etw/numamemstats.d. */ dtrace -qs numamemstats.d Osion tunnus: 0. Lasku: 1. Solmun numero: 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. }

Jos olet kiinnostunut DTracen asentamisesta, katso kuinka se voidaan tehdä tässä.

Voit ladata päivitetyn DTrace MSI -paketin täältä.

Tässä se on lähdekoodi ja kehittyneet skriptit.

Lähde

SUOSITELTU: Napsauta tätä korjataksesi Windows-ongelmat ja optimoidaksesi järjestelmän suorituskyvyn
Windows 10 Build 17704 on julkaistu uusilla ominaisuuksilla

Windows 10 Build 17704 on julkaistu uusilla ominaisuuksilla

Microsoft julkaisee Windows 10 Insider Preview Build 17704 -version "Redstone 5" -haaralta Window...

Lue lisää

Etätyöpöytä (mstsc.exe) komentorivin argumentit

Etätyöpöytä (mstsc.exe) komentorivin argumentit

mstsc.exe on sisäänrakennettu asiakasohjelmisto, joka mahdollistaa yhteyden muodostamisen tietoko...

Lue lisää

Nimeä Hyper-V Virtual Machine uudelleen Windows 10:ssä

Nimeä Hyper-V Virtual Machine uudelleen Windows 10:ssä

Windows 10:n, Windows 8.1:n ja Windows 8:n mukana tulee Client Hyper-V, joten voit käyttää tuettu...

Lue lisää