Windows Tips & News

DTrace тепер доступний у Windows

click fraud protection
РЕКОМЕНДУЄМО: Натисніть тут, щоб вирішити проблеми з Windows та оптимізувати продуктивність системи

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

Реклама

DTrace — це динамічна структура відстеження, яка дозволяє адміністратору або розробнику отримувати огляд системи в режимі реального часу в режимі користувача або ядра. DTrace має високий рівень і потужну мову програмування в стилі C, що дозволяє динамічно вставляти точки трасування. Використовуючи ці динамічно вставлені точки трасування, ви можете фільтрувати умови або помилки, писати код для аналізу шаблонів блокування, виявляти тупики тощо.

У Windows DTrace розширює функцію відстеження подій для Windows (ETW), яка є статичною і не надає можливості програмно вставляти точки трасування під час виконання.

Усі API та функції, які використовує dtrace.sys, є задокументованими викликами.

Dtrace на Windows

Microsoft реалізувала спеціальний драйвер для Windows 10, який дозволяє виконувати ряд ролей системного моніторингу. Драйвер буде включено до Windows 10 версії 1903. Крім того, наразі DTrace вимагає, щоб Windows запускалася з увімкненим налагоджувачем ядра.

Вихідний код перенесеного інструменту DTrace доступний на GitHub. Відвідайте сторінку «DTrace у Windows” у проекті OpenDTrace на GitHub, щоб побачити його.

Змістприховати
Налаштуйте DTrace в Windows 10
Використання DTrace

Налаштуйте DTrace в Windows 10

Передумови для використання функції

  • Інсайдер Windows 10 побудова 18342 або вище
  • Доступно лише на x64 Windows і збирає інформацію про трасування лише для 64-розрядних процесів
  • Програма Windows Insider є увімкнено і налаштовано з дійсним обліковим записом Windows Insider
    • Відвідайте Налаштування->Оновлення та безпека->Програма інсайдерської інформації Windows, щоб дізнатися більше

Інструкції:

  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 та оптимізувати продуктивність системи
Adobe Photoshop тепер рідний для Windows 10 на ARM

Adobe Photoshop тепер рідний для Windows 10 на ARM

Сьогодні Adobe оголосила, що один з її найпопулярніших продуктів, Photoshop, тепер буде працювати...

Читати далі

Що таке Windows Feature Experience Pack для Windows 10 версії 2004

Що таке Windows Feature Experience Pack для Windows 10 версії 2004

Після встановлення Windows 10 версії 2004, оновлення травня 2020 року, ви можете помітити, що ОС ...

Читати далі

Windows 10 Builds 19041.662 і 19042.662 досягнуто попереднього перегляду з KB4586853

Користувачі Microsoft Input Method Editor (IME) для японської або китайської мов можуть відчувати...

Читати далі