Бөлісу құралы:


Управление логированием .NET Framework

Трассировку событий для Windows (ETW) можно использовать для записи событий среды CLR. Вы можете создавать и просматривать трассировки с помощью следующих средств:

Чтобы записать сведения о событии 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 version>\ ). Эта папка содержит файл CLR-ETW.man. В командной строке введите следующую команду, чтобы установить провайдер CLR.

wevtutil im CLR-ETW.man

Регистрация событий CLR ETW

Инструменты командной строки Logman и Xperf можно использовать для фиксации событий ETW, а средства Tracerpt и Xperf — для декодирования событий трассировки.

Чтобы включить ведение журнала, пользователю необходимо указать три действия.

  • Поставщик, с которым необходимо связаться.

  • 64-разрядное число, представляющее набор ключевых слов. Каждое ключевое слово представляет набор событий, которые поставщик может включить. Число представляет объединенный набор ключевых слов для включения.

  • Небольшое число, представляющее уровень (детализация) для входа. Уровень 1 является наименее подробным, и уровень 5 является наиболее подробным. Уровень 0 — это значение по умолчанию, значение которого зависит от поставщика.

Для захвата событий CLR ETW с помощью Logman

  1. В командной строке введите:

    logman start clrevents -p {e13c0d23-ccbc-4e12-931b-d9cc2eee27e4} 0x1CCBD 0x5 -ets -ct perf

    где:

    • Параметр -p определяет GUID поставщика.

    • 0x1CCBD указывает категории событий, которые будут вызваны.

    • 0x5 задает уровень журналирования (в данном случае подробный (5)).

    • Параметр -ets приказывает Logman отправлять команды в сеансы трассировки событий.

    • Параметр -ct perf указывает, что QueryPerformanceCounter функция будет использоваться для регистрации метки времени для каждого события.

  2. Чтобы остановить ведение журнала событий, введите следующее:

    logman stop clrevents -ets

    Эта команда создает двоичный файл трассировки с именем clrevents.etl.

Для захвата событий CLR ETW с помощью Xperf

  1. В командной строке введите:

    xperf -start clr -on e13c0d23-ccbc-4e12-931b-d9cc2eee27e4:0x1CCBD:5 -f clrevents.etl

    где GUID — это GUID поставщика среды CLR ETW, и 0x1CCBD:5 трассирует все данные уровня 5 и ниже (подробные сведения).

  2. Чтобы остановить трассировку, введите:

    Xperf -stop clr

    Эта команда создает файл трассировки с именем clrevents.etl.

Просмотр событий ETW в среде CLR

Используйте команды, перечисленные ниже, для просмотра событий среды CLR ETW. Для получения описания этих событий см. события CLR ETW.

Для просмотра событий ETW CLR с помощью Tracerpt

  • В командной строке введите:

    tracerpt clrevents.etl

    Эта команда создает два файла: dumpfile.xml и summary.txt. В файле dumpfile.xml перечислены все события, а summary.txt содержит сводку о событиях.

Просмотр событий среды CLR ETW с помощью Xperf

  • В командной строке введите:

    xperf clrevents.etl

    Эта команда открывает средство просмотра файлов ETL Xperf. В этом средстве просмотра события CLR отображаются в представлении Общих событий. Чтобы отобразить сетку данных событий, классифицированных по типу, выберите регион времени в этом представлении, а затем щелкните правой кнопкой мыши и выберите "Сводка".

Преобразование ETL-файла в файл значения, разделенного запятыми

  • В командной строке введите:

    xperf -i clrevents.etl -f clrevents.csv

    Эта команда приводит к тому, что XPerf сбрасывает события в виде файла с разделителями-запятыми (CSV), который можно просмотреть. Так как различные события имеют разные поля, этот CSV-файл содержит несколько строк заголовков перед данными. Первое поле каждой строки — это тип события, указывающий, какой заголовок следует использовать для определения остальных полей.

См. также