DTrace — це платформа динамічного трасування, яка дозволяє адміністратору чи розробнику переглядати систему в режимі користувача чи ядра в реальному часі. DTrace має потужну мову програмування високого рівня в стилі C, яка дозволяє динамічно вставляти точки трасування. Використовуючи ці динамічно вставлені точки трасування, ви можете фільтрувати умови чи помилки, писати код для аналізу шаблонів блокувань, виявляти взаємоблокування тощо.
У Windows DTrace розширює трасування подій для Windows (ETW), яке є статичним і не надає можливості програмно вставляти точки трасування під час виконання.
Усі API та функції, які використовує dtrace.sys, є задокументованими викликами.
Корпорація Майкрософт реалізувала спеціальний драйвер для Windows 10, який дозволяє виконувати низку ролей моніторингу системи. Драйвер буде включено до Windows 10 версії 1903. Крім того, DTrace наразі вимагає, щоб Windows запускалася з увімкненим налагоджувачем ядра.
Вихідний код портованого інструменту DTrace доступний на GitHub. Відвідайте сторінку DTrace у Windowsу проекті OpenDTrace на GitHub, щоб побачити його.
Зміст приховати Налаштуйте DTrace у Windows 10 Використання DTraceНалаштуйте DTrace у Windows 10
Передумови для використання функції
- Інсайдер Windows 10збірка 18342або вище
- Доступно лише наx64Windows і фіксує інформацію трасування лише для 64-розрядних процесів Програма Windows Insider євключеноіналаштованоз дійсним обліковим записом Windows Insider
- Відвідайте Параметри->Оновлення та безпека->Програма попередньої оцінки Windows, щоб дізнатися більше
Інструкції:
- Набір конфігурації BCD:
- bcdedit /увімкнути dtrace
- Зауважте, що вам потрібно буде знову встановити параметр bcdedit, якщо ви оновитесь до нової збірки Insider
- Це встановлює компоненти режиму користувача, драйвери та пакети додаткових функцій на вимогу, необхідні для роботи DTrace.
- Необов’язково: оновітьЗмінна середовища PATHвключитиC:Program FilesDTrace
- встановити PATH=%PATH%;'C:Program FilesDTrace'
- Налаштуванняшлях символу
- Створіть новий каталог для локального кешування символів. Приклад: mkdir c:symbols
- встановити_NT_SYMBOL_PATH=srv*C:символи* http://msdl.microsoft.com/download/symbols
- DTrace автоматично завантажує необхідні символи з сервера символів і кешує на локальному шляху.
Додатково:Налагодження ядрапідключення до цільової машини ( Посилання MSDN). Цетількинеобхідний, якщо ви хочете відстежувати події ядра за допомогою FBT або інших постачальників. - Зауважте, що вам потрібно вимкнути Secureboot і Bitlocker на C: (якщо ввімкнено), якщо ви хочете налаштувати налагоджувач ядра.
Використання DTrace
- Відкрийте командний рядок з підвищеними правами.
- Виконайте одну з наступних команд:|_+_|
Командаdtrace -lvn системний виклик:::перелічить усі зонди та їхні параметри, доступні від постачальника системного виклику.
Нижче наведено деякі з постачальників, доступних у Windows, і те, що вони інструментують.
- syscall – системні виклики NTOS. Подібно до FBT у режимі ядра, але також дозволяє інструментування довільної функції offsets.etw (Відстеження подій для Windows) – дозволяє визначати зонди для ETW. Цей постачальник допомагає використовувати наявні інструменти операційної системи в DTrace.
- Це одне з доповнень, які ми зробили для DTrace, щоб дозволити йому відкривати та отримувати всю інформацію, яку вже надає Windows S.T.W.
Більше зразків сценаріїв, застосовних для сценаріїв Windows, можна знайти тут каталог зразків.
Джерело: Microsoft