Включение диагностической трассировки для MS DTC на Windows 10 компьютере
В этой статье описывается включение диагностической трассировки для координатора распределенных транзакций Майкрософт (MS DTC) на Windows 10 компьютере.
Исходная версия продукта: Windows 10
Исходный номер базы знаний: 926099
Важно!
В статье содержатся сведения об изменении реестра. Перед внесением изменений рекомендуется создать резервную копию реестра. и изучить процедуру его восстановления на случай возникновения проблемы. Дополнительные сведения о резервном копировании, восстановлении и изменении реестра см. в разделе Сведения о реестре Windows для опытных пользователей.
Типы средств трассировки
Трассировка диспетчера транзакций
Трассировка диспетчера транзакций (TM) отслеживает изменения состояния транзакций. Он создается диспетчером транзакций MS DTC. Выходные данные приведены в двоичном формате, и выходные данные должны быть отформатированы. Диспетчер транзакций является частью службы MS DTC.
Трассировка ошибок диспетчера коммуникаций
Трассировка ошибок диспетчера коммуникаций (CM) отслеживает любой процесс, который загружает файлMsdtcprx.dll и использует интерфейс удаленного вызова процедур (RPC) MS DTC для связи с другими процессами, связанными с MS DTC. Выходные данные в текстовом формате. Ошибка 0x8004d00a — это типичная ошибка, для которой может быть полезна трассировка ошибок диспетчера коммуникаций.
Примечание.
Трассировка диспетчера транзакций и трассировка ошибок диспетчера коммуникаций являются независимыми процессами. Вы можете независимо включить трассировку диспетчера транзакций и трассировку ошибок диспетчера коммуникаций. Кроме того, вы можете отключить их независимо.
Включение трассировки диспетчера транзакций
Для включения трассировки диспетчера транзакций можно использовать оснастку Консоли управления Майкрософт (MMC). Для этого выполните следующие действия:
Выберите Пуск, Все программы, Стандартные и Запустить.
Введите comexp.msc и нажмите кнопку ОК.
Разверните узлы Службы компонентов, Компьютеры, Мой компьютер, Диспетчер распределенных транзакций, щелкните правой кнопкой мыши Локальный DTC и выберите Свойства.
Перейдите на вкладку Трассировка .
На вкладке Трассировка можно изменить следующие параметры трассировки TM:
-
Выходные данные трассировки
-
Транзакции трассировки
- Трассировка всех транзакций
- Трассировка прерванных транзакций
- Трассировка Long-Lived транзакций
-
Транзакции трассировки
-
Выходные данные трассировки
При изменении конфигурации трассировки TM служба MS DTC обнаруживает изменения. Однако вам не нужно перезапускать процесс. Например, при изменении отслеживаемых транзакций или расположения файла трассировки служба MS DTC обнаруживает изменения в реестре. Вам не нужно перезапускать службу MS DTC.
Новая система трассировки MS DTC в Windows
В Windows MS DTC имеет новую и обширную систему трассировки. Новая система имеет следующие цели проектирования:
- Для добавления отформатированной трассировки требуется только одна строка кода.
- Трассировка доступна людям на рабочих компьютерах без сети.
- Параметры вывода являются гибкими.
- Трассировка выполняется быстро.
- Для изменения параметров не нужно перезагружать компьютер.
Кроме того, в Windows 10 и Windows Server Technical Preview имя файла журнала трассировки включает имя процесса, который вызвал журнал трассировки. Это управляется разделом реестра Output.
Настройка трассировки
Предупреждение
При неправильном изменении реестра с использованием редактора реестра или другого способа могут случиться серьезные проблемы. Для решения этих проблем может потребоваться переустановка операционной системы. Корпорация Майкрософт не может гарантировать, что эти проблемы удастся решить. Вносите изменения в реестр на ваш страх и риск.
Конфигурация трассировки находится на локальном узле в разделе реестра, который называется Tracing
в разделе реестра MS DTC. Раздел Tracing
реестра включает трассировку диспетчера подключений. Ранее вы использовали TraceCMErr
раздел реестра для настройки трассировки диспетчера подключений. Раздел Tracing
реестра содержит следующие два вложенных раздела:
-
Sources
: этот вложенный ключ настраивает тип трассировки. -
Output
: этот вложенный ключ настраивает место отправки выходных данных трассировки.
Примечание.
Убедитесь, что процесс может получить доступ к разделу Tracing
реестра. По умолчанию конфигурация Windows не создает этот ключ и не предоставляет разрешения для этого ключа. Для настройки функций трассировки можно использовать Редактор реестра.
Чтобы создать записи реестра функций трассировки, выполните следующие действия.
Выберите Запустить>все программы>Стандартные>запуск, введите regedit и нажмите кнопку ОК.
Найдите и выберите один из следующих вложенных ключей:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\Tracing\Sources
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\Tracing\Output
В меню Правка выберите Создать, а затем выберите тип данных записи. Например, выберите Значение DWORD (32-бит).
Введите имя нужного источника и нажмите клавишу ВВОД. Дополнительные сведения об именах источников см. в таблице раздела Настройка источников .
Щелкните правой кнопкой мыши новую запись реестра, выберите Изменить, введите нужное значение в поле Значение и нажмите кнопку ОК.
В меню Файл выберите Выход.
Настройка источников
Раздел Sources
реестра содержит набор значений реестра DWORD, перечисленных в следующей таблице.
Имя | Описание |
---|---|
TRACE_MISC | Трассировки, которые не могут быть классифицированы по другим категориям |
TRACE_CM | Трассировки в диспетчере соединений |
TRACE_TRACE | Сама инфраструктура трассировки |
TRACE_SVC | Запуск службы трассировки и .exe файлов |
TRACE_GATEWAY | Источник шлюза |
TRACE_UI | Трассировка пользовательского интерфейса |
TRACE_CONTACT | Трассировка пула контактов и контактов |
TRACE_UTIL | Трассирует подпрограммы служебной программы, вызываемые из нескольких расположений |
TRACE_CLUSTER | Трассирует код для конкретного кластера (служебная программа) |
TRACE_RESOURCE | Трассировка кода для конкретного ресурса кластера |
TRACE_TIP | Источник трассировки транзакционных интернет-протоколов (TIP) |
TRACE_XA | Источник трассировки диспетчера транзакций XA (XATM) |
TRACE_LOG | Трассировка журнала |
TRACE_MTXOCI | Источник трассировки уровня MTS/OCI (Mtxoci.dll) |
TRACE_ETWTRACE | Источник трассировки событий Windows (ETW) |
TRACE_PROXY | Трассировки, созданные в библиотеке DLL прокси-сервера MSDTC |
TRACE_KTMRM | Трассировка для интеграции с диспетчером транзакций ядра |
TRACE_VSSBACKUP | Трассировка для интеграции с механизмом резервного копирования и восстановления Microsoft Visual SourceSafe |
TRACE_PERFMON | Трассировка с поддержкой счетчиков производительности |
Значение DWORD должно быть числом от 0 до 255. Значение DWORD указывает уровень трассировки. В следующей таблице перечислены возможные значения DWORD.
Значение | Описание |
---|---|
0 | const BYTE TRACE_OFF |
1 | const BYTE TRACE_ERROR |
2 | const BYTE TRACE_WARNING |
3 | const BYTE TRACE_INFO |
4 | const BYTE TRACE_VERBOSE |
5 | const BYTE TRACE_VERY_VERBOSE |
6 | const BYTE TRACE_INOUT |
0xF0 | const BYTE TRACE_OBSCURE |
0xff | const BYTE TRACE_EVERYTHING |
Примечание.
Более высокие значения автоматически включают более низкие значения. Поэтому при включении TRACE_INFO
уровня TRACE_ERROR
он также включается. Очень немногие источники используют трассировку, которая превышает TRACE_VERBOSE
уровень.
Настройка выходных данных трассировки
Предупреждение
При неправильном изменении реестра с использованием редактора реестра или другого способа могут случиться серьезные проблемы. Для решения этих проблем может потребоваться переустановка операционной системы. Корпорация Майкрософт не может гарантировать, что эти проблемы удастся решить. Вносите изменения в реестр на ваш страх и риск.
Раздел Output
реестра содержит набор значений, определяющих, куда отправляются выходные данные трассировки. Ниже приведены следующие значения.
Значение
TraceFilePath
(REG_SZ) — это корневая папка, в которой должны храниться файлы трассировки. Трассировка записывается в файл в папке с именем msdtc-X.log. В этом имени папки X представляет десятичный PID процесса, создающего файл. Убедитесь, что все интересующие процессы могут получить доступ к настроенной папке. В противном случае сведения о трассировки будут потеряны. Если это значение не задано, трассировки не отправляются в файл.Значение
ImageNameInTraceFileNameEnabled
(REG_DWORD) определяет, включает ли имя созданного файла журнала трассировки имя файла изображения процесса, вызвавского журнал трассировки. Если задано значение, отличное от нуля, имя файла изображения процесса будет включено в созданный файл журнала трассировки. Если это значение равно нулю, имя файла изображения процесса не будет включено в созданный файл журнала трассировки. По умолчанию значение равно нулю (0). Ниже приведен пример имени файла трассировки, в котором созданный файл журнала содержит процесс:
MSDTC-msdtc.exe-3552.log или MSDTC-svchost.exe — 3556.logЗначение
MemoryBufferSize
(REG_DWORD) — это размер кругового буфера, в котором хранятся сообщения трассировки. Если для этого значения задано значение 0, трассировка памяти отключена. По умолчанию это значение равно 10 МБ. Возможно, вам потребуется увеличить это значение, если включить подробную трассировку.Значение
DebugOutEnabled
(REG_DWORD) включает или отключает выходные данные для отладчика. Если значение ненулевое, выходные данные включены. По умолчанию этотOutput
раздел реестра отключен. При изменении конфигурации трассировки ошибок диспетчера соединений изменения вступают в силу при перезапуске процесса, загружающего файлMsdtcprx.dll . Например, изменения в конфигурации трассировки ошибок диспетчера соединений вступают в силу при перезапуске процесса службы MS DTC.
Кроме того, можно создать файл .reg, а затем импортировать его с помощью Редактор реестра. Для этого выполните следующие действия:
Создайте файл .reg, содержащий следующий пример кода:
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\Tracing] [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\Tracing\Output] "DebugOutEnabled"=dword:00000000 "TraceFilePath"="" "MemoryBufferSize"=dword:0000000a "ImageNameInTraceFileNameEnabled"=dword:00000001 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSDTC\Tracing\Sources] "TRACE_MISC"=dword:00000000 "TRACE_CM"=dword:00000000 "TRACE_TRACE"=dword:00000000 "TRACE_SVC"=dword:00000000 "TRACE_GATEWAY"=dword:00000000 "TRACE_UI"=dword:00000000 "TRACE_CONTACT"=dword:00000000 "TRACE_UTIL"=dword:00000000 "TRACE_CLUSTER"=dword:00000000 "TRACE_RESOURCE"=dword:00000000 "TRACE_TIP"=dword:00000000 "TRACE_XA"=dword:00000000 "TRACE_LOG"=dword:00000000 "TRACE_MTXOCI"=dword:00000000 "TRACE_ETWTRACE"=dword:00000000 "TRACE_PROXY"=dword:00000000 "TRACE_KTMRM"=dword:00000000 "TRACE_VSSBACKUP"=dword:00000000
Выберите Запустить>все программы>Стандартные>запуск, введите regedit и нажмите кнопку ОК.
В меню Файл выберите Импорт.
Найдите файл, созданный на шаге 1, и нажмите кнопку Открыть. Откроется диалоговое окно Реестр Редактор.
Нажмите ОК.
В меню Файл выберите Выход.
Эффект производительности
По умолчанию функция трассировки отключена в Windows. Таким образом, производительность обычной установки не влияет.
Не включайте функции трассировки на рабочих компьютерах, если только специалист службы поддержки майкрософт не указывает, что для диагностики проблемы требуются данные трассировки. Трассировка может повлиять на производительность компьютера. Сначала необходимо найти проблему и устранить ее. Затем немедленно отключите функцию трассировки.
Конфигурация кластера
Для установки кластера убедитесь, что все записи реестра на всех узлах содержат эти записи реестра. Для любого узла, на который нет этих записей реестра, код кластера игнорирует записи реестра в общем реестре, так как записи реестра не существуют в реестре локальных компьютеров.