Поделиться через


Трассировка рабочих процессов

Трассировка рабочих процессов позволяет записывать диагностические данные с помощью прослушивателей трассировки .NET Framework. Трассировка может быть включена, если обнаружена проблема с приложением, а затем снова отключена после устранения проблемы. Есть два способа активировать трассировку отладки для рабочих процессов. Его можно настроить с помощью средства просмотра трассировки событий или использовать System.Diagnostics для отправки событий трассировки в файл.

Включение трассировки отладки в ETW

Чтобы включить трассировку с помощью ETW, включите канал отладки в средстве просмотра событий:

  1. Перейдите к узлу журналов аналитики и отладки в средстве просмотра событий.

  2. В представлении дерева в Средство просмотра событий, перейдите к Просмотр событий>-Журналы приложений и служб->Microsoft->Windows->Application Server-Applications. Щелкните правой кнопкой мыши Сервер приложений - Приложения и выберите >. Щелкните правой кнопкой мыши "Отладка " и выберите "Включить журнал".

  3. При запуске рабочего процесса отладочные и трассировочные данные выводятся в канал отладки ETW, их можно просмотреть в средстве просмотра событий. Перейдите к Просмотр событий->Журналы приложений и служб->Microsoft->Windows->Application Server-Applications. Щелкните "Отладка" правой кнопкой мыши и выберите "Обновить".

  4. Размер буфера трассировки аналитики по умолчанию составляет всего 4 килобайта (КБ); Рекомендуется увеличить размер до 32 КБ. Для этого сделайте следующее.

    1. Выполните следующую команду в текущем каталоге платформы (например, C:\Windows\Microsoft.NET\Framework\v4.0.21203): wevtutil um Microsoft.Windows.ApplicationServer.Applications.man

    2. Измените <значение bufferSize> в файле Windows.ApplicationServer.Applications.man на 32.

      <channel name="Microsoft-Windows-Application Server-Applications/Analytic" chid="ANALYTIC_CHANNEL" symbol="ANALYTIC_CHANNEL" type="Analytic" enabled="false" isolation="Application" message="$(string.MICROSOFT_WINDOWS_APPLICATIONSERVER_APPLICATIONS.channel.ANALYTIC_CHANNEL.message)" >
                  <publishing>
                    <bufferSize>32</bufferSize>
                  </publishing>
                </channel>
      
    3. Выполните следующую команду в текущем каталоге платформы (например, C:\Windows\Microsoft.NET\Framework\v4.0.21203): wevtutil im Microsoft.Windows.ApplicationServer.Applications.man

Замечание

Если вы используете профиль клиента .NET Framework 4, необходимо сначала зарегистрировать манифест ETW, выполнив следующую команду из каталога .NET Framework 4: ServiceModelReg.exe -i -c:etw

Активирование трассировки отладки с помощью System.Diagnostics

Эти прослушиватели можно настроить в App.config файле приложения рабочего процесса или Web.config для службы рабочего процесса. В этом примере TextWriterTraceListener настроено сохранение сведений трассировки в файл MyTraceLog.txt в текущем каталоге.

<configuration>
  <system.diagnostics>
    <sources>
      <source name="System.Activities" switchValue="Information">
        <listeners>
          <add name="textListener" />
          <remove name="Default" />
        </listeners>
      </source>
    </sources>
    <sharedListeners>
      <add name="textListener"
           type="System.Diagnostics.TextWriterTraceListener"
           initializeData="MyTraceLog.txt"
           traceOutputOptions="ProcessId, DateTime" />
    </sharedListeners>
    <trace autoflush="true" indentsize="4">
      <listeners>
        <add name="textListener" />
      </listeners>
    </trace>
  </system.diagnostics>
</configuration>

См. также