Контроль ведения журнала .NET Framework
Трассировку событий для Windows (ETW) можно использовать для записи событий среды CLR. Для создания и просмотра трассировки можно использовать следующие инструменты.
Средства командной строки Logman и Tracerpt, входящие в состав операционной системы Windows.
Средства Xperf, входящие в состав инструментария Windows Performance Toolkit (на английском языке). Дополнительные сведения о Xperf см. в блоге Windows Performance (на английском языке).
Для регистрации событий среды CLR на компьютере должен быть установлен поставщик среды CLR. Чтобы проверить, установлен ли этот поставщик, введите в командной строке logman query providers. Откроется список поставщиков. В этом списке должна находиться следующая запись для поставщика среды CLR.
Provider GUID
-------------------------------------------------------------------------------
.NET Common Language Runtime {E13C0D23-CCBC-4E12-931B-D9CC2EEE27E4}
…………………………………………….
Если поставщика среды CLR в списке нет, его можно установить для операционной системы Windows Vista и последующих версий операционных систем, используя программу командной строки Windows Wevtutil. Откройте окно командной строки от имени учетной записи администратора. Перейдите в папку .NET Framework 4 (%WINDIR%\Microsoft.NET\Framework[64]\v4.<версия .NET>\ ). Эта папка содержит файл CLR-ETW.man. Чтобы установить поставщик среды CLR, в командной строке введите следующую команду:
wevtutil im CLR-ETW.man
Регистрация событий ETW в среде CLR
Для регистрации событий ETW можно использовать средства командной строки Logman и Xperf, а для декодирования событий трассировки — средства командной строки Tracerpt и Xperf.
Чтобы включить ведение журнала, пользователь должен указать следующее.
Поставщика, с которым следует обмениваться информацией.
64-разрядное число, представляющее набор ключевых слов. Каждое ключевое слово представляет набор событий, которые может включить поставщик. Число представляет комбинированный набор ключевых слов, которые необходимо включить.
Небольшое число, представляющее уровень (детализации) ведения журнала. Уровень 1 является наименее детальным, а уровень 5 — наиболее детальным. Уровень 0 является значением по умолчанию, его назначение зависит от поставщика.
Регистрация событий ETW среды CLR с помощью программы Logman
В командной строке введите:
logman start clrevents -p {e13c0d23-ccbc-4e12-931b-d9cc2eee27e4} 0x1CCBD 0x5 -ets -ct perf
где:
Параметр -p задает GUID поставщика.
0x1CCBD задает категории создаваемых событий.
0x5 задает уровень регистрации (в данном случае подробный (5)).
Параметр -ets указывает программе Logman отправлять команды сеансам трассировки событий.
Параметр -ct perf, определяет, что для записи отметки времени каждого события будет использоваться функция QueryPerformanceCounter.
Чтобы остановить регистрацию событий, введите:
logman stop clrevents -ets
Эта команда создает двоичный файл трассировки clrevents.etl.
Регистрация событий ETW среды CLR с помощью программы Xperf
В командной строке введите:
xperf -start clr -on e13c0d23-ccbc-4e12-931b-d9cc2eee27e4:0x1CCBD:5 -f clrevents.etl
где GUID — это GUID поставщика ETW среды CLR, а 0x1CCBD:5 выполняет трассировку всех событий на уровне 5 (детальный) и ниже.
Чтобы остановить трассировку, введите:
Xperf -stop clr
Эта команда создает файл трассировки clrevents.etl.
Просмотр событий ETW среды CLR
Перечисленные ниже команды используются для просмотра событий ETW среды CLR. Описание событий см. в разделе События трассировки событий Windows в среде CLR.
Просмотр событий ETW среды CLR с помощью программы Tracerpt
В командной строке введите:
tracerpt clrevents.etl
Эта команда создает два файла: dumpfile.xml и summary.txt. Файл dumpfile.xml содержит список всех событий, а файл summary.txt содержит сводку событий.
Просмотр событий ETW среды CLR с помощью программы Xperf
В командной строке введите:
xperf clrevents.etl
Эта команда открывает программу Xperf просмотра ETL-файлов В этом средстве просмотра события CLR показаны в представлении Универсальные события. Чтобы отобразить таблицу данных событий, распределенных по типу, в этом представлении выберите часовой пояс, щелкните правой кнопкой мыши и выберите Сводка.
Преобразование ETL-файла в файл данных с разделителями-запятыми
В командной строке введите:
xperf -i clrevents.etl -f clrevents.csv
Эта команда XPerf помещает события в дамп в виде файла с разделителями-запятыми (CSV-файл), который впоследствии можно просмотреть. Поскольку у разных событий поля разные, этот CSV-файл содержит несколько строк заголовков, расположенных перед данными. Первое поле каждой строки является типом события с указанием заголовка, который должен использоваться для определения остальных полей.