Windows Tips & News

DTrace вече е достъпен за Windows

click fraud protection

Следващата актуализация на функциите на Windows 10 (19H1, актуализация от април 2019 г., версия 1903) ще включва поддръжка за DTrace, популярния инструмент за отстраняване на грешки и диагностика с отворен код. Първоначално е създаден за Solaris и стана достъпен за Linux, FreeBSD, NetBSD и macOS. Microsoft го пренесе към Windows.

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

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

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

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

Изходният код за пренесения инструмент DTrace е достъпен в GitHub. Посетете страницата “DTrace на Windows” под проекта OpenDTrace на GitHub, за да го видите.

Настройте DTrace в Windows 10

Предпоставки за използване на функцията

  • Windows 10 вътрешна информация сборка 18342 или по-високо
  • Предлага се само на x64 Windows и улавя информация за проследяване само за 64-битови процеси
  • Windows Insider програма е активиран и конфигуриран с валиден акаунт в Windows Insider.
    • Посетете Settings->Update & Security->Windows Insider Program за подробности

инструкции:

  1. BCD конфигурационен комплект:
    1. bcdedit /включи dtrace
    2. Имайте предвид, че трябва да зададете отново опцията bcdedit, ако надстроите до нова версия на Insider
  2. Изтегли и инсталирайте пакета DTrace от център за изтегляне.
    1. Това инсталира компонентите на потребителския режим, драйверите и пакетите с допълнителни функции при поискване, необходими за функционирането на DTrace.
  3. По избор: Актуализирайте PATH променлива на средата да включва C:\Program Files\DTrace
    1. задайте PATH=%PATH%;"C:\Program Files\DTrace"
  4. Настройвам път на символа
    1. Създайте нова директория за локално кеширане на символи. Пример: mkdir c:\symbols
    2. Комплект _NT_SYMBOL_PATH=srv*C:\symbols*http://msdl.microsoft.com/download/symbols
    3. DTrace автоматично изтегля необходимите символи от символния сървър и кешира в локалния път.
  5. По избор:Настройване на дебъгер на ядрото връзка към целевата машина (MSDN връзка). Това е само изисква се, ако искате да проследите събития на ядрото с помощта на FBT или други доставчици.
    1. Имайте предвид, че ще трябва да деактивирате Secureboot и Bitlocker на C: (ако е активиран), ако искате да настроите дебъгер на ядрото.
  6. Рестартирайте целева машина

Използване на DTrace

  1. Отворете ан повишен команден ред.
  2. Изпълнете една от следните команди:
    # Резюме на системно извикване по програма за 5 секунди: dtrace -Fn "tick-5sec { exit (0);} syscallentry{ @num[pid, execname] = count();} " # Обобщаване на таймера за настройка/отмяна на програмата за 3 секунди: dtrace -Fn "tick-3sec { exit (0);} syscall:: Nt*Timer*:entry { @[probefunc, execname, pid] = count();}" # Изхвърляне на структурата на ядрото на системния процес: (изисква символ път към бъде настроен) dtrace -n "BEGIN{print(*(struct nt`_EPROCESS *) nt`PsInitialSystemProcess);exit (0);}" # Проследяване на пътища през NTFS при стартиране на notepad.exe (изисква KD a

Командата dtrace -lvn системно повикване ще изброи всички проби и техните параметри, налични от доставчика на системно повикване.

Следват някои от доставчиците, налични в Windows, и това, което те инструментират.

  • системно извикване – NTOS системни повиквания
  • fbt (Проследяване на границата на функциите) – Въвеждане и връщане на функцията на ядрото
  • pid – Проследяване на процес в потребителски режим. Подобно на FBT в режим на ядрото, но също така позволява инструментирането на произволни отмествания на функциите.
  • etw (Проследяване на събития за Windows) – Позволява да се дефинират проби за ETW Този доставчик помага да се използва съществуващата инструментариум на операционната система в DTrace.
    • Това е едно допълнение, което направихме към DTrace, за да му позволим да изложи и получи цялата информация, която Windows вече предоставя ETW.

Още примерни скриптове, приложими за Windows сценарии, могат да бъдат намерени в това директория с образци.

Източник: Microsoft

Как да изтриете услуга в Windows 10

Как да изтриете услуга в Windows 10

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

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

Деблокиране на старата версия на skype архиви

Този уебсайт използва бисквитки, за да подобри вашето изживяване, докато навигирате през уебсайта...

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

Microsoft описва новите функции, които скоро ще се очакват в Edge

Microsoft описва новите функции, които скоро ще се очакват в Edge

В най-новата актуализация на Microsoft Edge Roadmap, която е налична на официалния уебсайт на Edg...

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