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 Использование DTraceНастройка DTrace в Windows 10
Предварительные условия для использования функции
- Инсайдер Windows 10сборка 18342или выше
- Доступно только нах64Windows и записывает информацию трассировки только для 64-битных процессов. Программа предварительной оценки Windows — этовключеноинастроенс действующей учетной записью 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:symbols* http://msdl.microsoft.com/download/symbols
- DTrace автоматически загружает необходимые символы с сервера символов и кэширует их по локальному пути.
Необязательный:Настройка отладчика ядраподключение к целевой машине ( Ссылка MSDN). Этотолькотребуется, если вы хотите отслеживать события ядра с помощью FBT или других поставщиков. - Обратите внимание, что вам нужно будет отключить Secureboot и Bitlocker на C: (если они включены), если вы хотите настроить отладчик ядра.
Использование DTrace
- Откройте командную строку с повышенными правами.
- Выполните одну из следующих команд:|_+_|
Командаdtrace -lvn системный вызов:::выведет список всех зондов и их параметров, доступных от провайдера системных вызовов.
Ниже приведены некоторые поставщики, доступные в Windows, и их инструменты.
- syscall — системные вызовы NTOSfbt (трассировка границ функций) — запись функции ядра и returnpid — трассировка процессов в пользовательском режиме. Подобно FBT в режиме ядра, но также позволяет использовать произвольные функции offsets.etw (трассировка событий для Windows). Позволяет определять зонды для ETW. Этот поставщик помогает использовать существующие инструменты операционной системы в DTrace.
- Это одно из дополнений, которые мы внесли в DTrace, чтобы позволить ему предоставлять и получать всю информацию, которую Windows уже предоставляет в С.Т.В..
Дополнительные примеры сценариев, применимых к сценариям Windows, можно найти в этом документе. каталог образцов.
Источник: Майкрософт