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.
    • Відвідайте Налаштування->Оновлення та безпека->Програма інсайдерської інформації 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 11 і 10

Цей веб-сайт використовує файли cookie, щоб покращити ваш досвід під час навігації веб-сайтом. З ...

Читати далі

Програма налаштувань Windows 11 показуватиме рекламу на домашній сторінці

Програма налаштувань Windows 11 показуватиме рекламу на домашній сторінці

Як ви пам’ятаєте, програма «Налаштування» отримує нову версію сторінка за замовчуванням під назво...

Читати далі

Підсистема Windows для Android 2304 додає перевірку пакетів, покращену надійність і підтримку AppLink

Підсистема Windows для Android 2304 додає перевірку пакетів, покращену надійність і підтримку AppLink

Інсайдери Windows тепер можуть отримати доступ до останньої версії підсистеми Windows для Android...

Читати далі