Windows Tips & News

DTrace на Windows получава своите 20H1 актуализации с поддръжка на ARM64

click fraud protection

DTrace е популярният инструмент за отстраняване на грешки и диагностика с отворен код. Първоначално е създаден за Solaris и стана достъпен за Linux, FreeBSD, NetBSD и macOS. Microsoft го пренесе към Windows и добавя част от актуализации към него с актуализация на функциите 20H1.

DTrace е динамична рамка за проследяване, която позволява на администратор или разработчик да получи преглед в реално време в системата в режим на потребител или ядро. DTrace има високо ниво в стил C и мощен език за програмиране, който ви позволява да вмъквате динамично точки за проследяване. Използвайки тези динамично вмъкнати точки на проследяване, можете да филтрирате по условия или грешки, да пишете код за анализиране на модели на заключване, да откривате застой и т.н.

В Windows DTrace разширява проследяването на събития за Windows (ETW), което е статично и не предоставя възможност за програмно вмъкване на точки за проследяване по време на изпълнение.

Всички API и функционалности, използвани от dtrace.sys, са документирани извиквания.

Microsoft внедри специален драйвер за Windows 10, който позволява изпълняването на редица роли за мониторинг на системата. Драйверът е вграден в Windows 10, започвайки от версия 1903.

Започвайки от Windows 10 вътрешна версия 19041.21, DTrace идва със следните подобрения.

Визуализация на ARM64

Да, така е! DTrace вече поддържа ARM64 в режим на предварителен преглед. ARM64 MSI е наличен в връзката за изтегляне, посочена по-горе.

Можете да го използвате на вашия Surface Pro X изпълнява най-новата версия на Windows 10 Insider Preview (20H1), като се започне с 19041.21.

DTrace на Surface Pro X

Потребителски режим Stackwalk

В предварителния преглед съоръжението за stackwalk в DTrace беше ограничено до режим на ядрото (стек). Тази актуализация добавя поддръжка за стеквалк на потребителски режим (ustack). Подобно на стека, средството ustack е напълно съвместимо със спецификацията DTrace с отворен код. Той може да бъде извикан по три начина чрез посочване на рамки (дълбочина) и размер (засега игнорирани) или празни.

  • Ustack (nframes, размер)
  • Ustack (nframes)
  • Ustack()

Докато ustack () може да определи адреса на извикващия кадър, когато сондата се задейства, стековите рамки ще го направят не се превежда в символи, докато действието ustack () не бъде обработено в потребителски режим от потребителя на DTrace. Изтеглянето на символи може да забави изхода. Следователно е по-добре да използвате това средство с локално кеширани символи, както е показано по-долу.

dtrace -n "profile-1ms /arg1/ {ustack (50, 0); изход (0);} " -y C:\символи. dtrace: описанието 'profile-1ms' съответства на 1 сонда. ИД на процесора ФУНКЦИЯ: ИМЕ 0 3802 :profile-1ms ntdll`ZwAllocateVirtualMemory+0x14 ntdll`RtlAllocateHeap+0x3ded ntdll`RtlAllocateHeap+0x763 ucrtbase`malloc44

Поддръжка за изхвърляне на живо

Windows обикновено използва нещо, наречено Живо сметище за да помогне за бързо диагностициране на проблеми. Дъмповете на живо помагат при отстраняване на проблеми, включващи множество процеси или проблеми в цялата система без прекъсвания. В 20H1, DTrace на Windows може да се използва за заснемане на живо дъмп от вътрешността на D-скрипт с помощта на lkd() DTrace съоръжение. Често срещан случай на използване на това средство е да се инструментира пътя на грешката (като кодът за връщане показва неизправност) и да се заснеме жив дъмп точно в точката на повреда за разширена диагностика. За повече информация относно поддръжката на изхвърляне на живо, вж DTrace Live Dump.

dtrace -wn "syscallreturn { if (arg0 != 0xc0000001UL) { lkd (0); printf(\" Задействане на изхвърляне на живо \n \");изход (0); }}" dtrace: описанието 'syscallreturn' съответства на 1411 проби. dtrace: позволява разрушителни действия. ИД на процесора ФУНКЦИЯ: ИМЕ 0 181 NtDeviceIoControlFile: връщане Задействане Дирекция за изтегляне на живо c:\Windows\LiveKernelReports Томът в устройство C няма етикет. Серийният номер на тома е 70F4-B9F6 Директория на c:\Windows\LiveKernelReports 11/05/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. 

Проследяване на ETW

ETW проследяване е най-често използваният инструмент за отстраняване на грешки в Windows. В DTrace на предварителен преглед на Windows 19H1 добавихме поддръжка за инструментиране на записани и проявени събития с помощта на ETW доставчик.

През 20H1 допълнително подобрихме това средство, за да създаваме нови ETW събития в движение от вътрешността на D-скрипт, използвайки ETW_Trace() съоръжение. Това помага в ситуации, когато съществуващите ETW събития са недостатъчни и бихте искали да добавите допълнителни точки за проследяване на ETW, без да променяте производствения код.

За повече информация относно ETW_Trace съоръжение и доставчик на ETW, виж DTrace ETW.

/* Изпълняване на пробата на доставчика на GitHub ETW (връзка по-долу) за отпечатване на събитие с информация за паметта на възела. https://github.com/microsoft/DTrace-on-Windows/blob/master/samples/windows/etw/numamemstats.d. */ dtrace -qs numamemstats.d Идентификатор на дял: 0. Брой: 1. Номер на възел: 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. }

Ако се интересувате от инсталиране на DTrace, вижте как може да се направи тук.

Можете да изтеглите актуализирания пакет DTrace MSI оттук.

Ето го програмен код и разширени скриптове.

Източник

Деактивирайте началната страница на разказвача в Windows 10

Деактивирайте началната страница на разказвача в Windows 10

Започвайки от Windows 10 версия 1809 „Актуализация от октомври 2018 г.“, вградената функция „Разк...

Прочетете още

Деактивирайте началната страница на разказвача в Windows 10

Деактивирайте началната страница на разказвача в Windows 10

ПРЕПОРЪЧВА: Щракнете тук, за да коригирате проблеми с Windows и да оптимизирате производителностт...

Прочетете още

Промяна на аудио изходното устройство за разказвача в Windows 10

Както може би вече знаете, „Разказвач“ е приложение за четене на екран, вградено в Windows 10. Ра...

Прочетете още