Подтвердить что ты не робот

Где я могу получить tracefmt.exe? И как мне читать мои следы MSDTC?

Я пошел статью KB из MS, чтобы включить трассировку MSDTC. К сожалению, было трудно следовать, поскольку он не предполагает очень разумного и очевидного ожидания читателя, а именно "как я могу прочитать этот файл двоичного журнала?" Я прочитал эту страницу из MSDN, где я обнаружил, что не могу прочитать файл журнала, потому что мне не хватает исполняемого файла под названием tracefmt.exe, и я, по-видимому, единственный в этой ситуации с этой проблемой.

Следовательно, мой вопрос: Почему у меня нет tracefmt.exe и где его получить? или, чтобы добраться до точки: Как читать журналы трассировки MSDTC?

4b9b3361

Ответ 1

tracefmt (и трассировка, которая проще в использовании) доступны в наборе драйверов Windows (WDK). Он доступен здесь: http://www.microsoft.com/en-us/download/details.aspx?displaylang=en&id=11800. Это в WDK, поскольку эта технология трассировки чаще используется в драйверах устройств.

Ответ 2

С установленным Visual Studio 2010 я нашел инструмент в следующем месте:

C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Bin\x64\TraceFmt.exe

Затем я скопировал .EXE в следующее местоположение:

C:\Windows\System32\Msdtc\Trace

И запустил его следующим образом:

TraceFmt.exe dtctrace.log.2012-06-13-10-38-57-0601-00

Хотя большую часть времени я использую msdtcvtr.bat, следующим образом:

C:\Windows\System32\Msdtc\Trace\msdtcvtr.bat -tracelog dtctrace.log.2012-06-13-10-38-57-0601-00

Ответ 3

Чтобы сэкономить на загрузке всего WDK (600 МБ +), всего за 200 Кбайт файлов, я выбрал загрузку 4,7 МБ, выполнив следующие действия:

  • Загрузите "Инструменты поддержки Windows XP с пакетом обновления 2": http://www.microsoft.com/downloads/details.aspx?FamilyId=49AE8576-9BB9-4126-9761-BA8011FABF38&displaylang=en
  • Если вы используете XP, просто извлеките и перейдите
  • Если вы работаете с 2003 года (например, я), вы получите сообщение об ошибке, которое может быть установлено только на XP. Поэтому, чтобы обойти это, используйте инструмент для извлечения exe вместо этого.
  • Внутри exe будет support.cab, извлеките содержимое этого где-нибудь
  • Найдите эти два файла, tracefmt.exe и traceprt.dll. Скопируйте их в каталог %windir%\system32\msdtc\trace

Ответ 4

Отслеживание DTC

Блог группы поддержки распределенных служб более подробно описывает как проследить DTC.

Набор драйверов для Windows

Ссылки в принятом ответе кажутся сломанными. Я нашел домашнюю страницу драйвера Windows и текущую ссылку для скачивания.

После того, как вы загрузили ISO, и вы находитесь на экране установки, Microsoft Windows Driver Kit, выберите только инструменты из полной среды разработки. Файл tracefmt.exe находится в <install-path>\<version>\Tools\tracing\i386. Убедитесь, что вы скопировали версию tracefmt.exe из 64-разрядной или 32-разрядной директории!

Блоггер выше переносил эти файлы в папку DTC %systemroot%\MsDtc\Trace, возможно, поэтому они были в пути msdtcvtr.bat.

Ответ 5

После поиска tracefmt.exe и traceprt.dll из вышеуказанных сообщений (и в другом месте) я обнаружил, что вам нужна 64-разрядная версия инструментов для запуска программы на Windows Server 2008.

Я нашел этот пост в блоге.

и обнаружил, что если у вас установлена ​​визуальная студия, вы сможете найти как 64-разрядную, так и 32-разрядную версии для exe и dll на локальной машине:

  • ProgramFiles\Microsoft SDK\Windows\v6.0A\Bin\(32-разрядная версия)
  • ProgramFiles\Microsoft SDK\Windows\v6.0A\Bin\x64\(64-разрядная версия)

Ответ 7

Я нашел ответы Даррена и Томаса Братта весьма полезными, но для успешного анализа файлов DTC с помощью tracefmt мне пришлось указать параметр tmf:

tracefmt -tmf msdtctr.mof dtctrace.log

В противном случае каждое событие получило что-то вроде

Unknown( 21): GUID=75f91e0e-d50c-47c9-b06f-3f2013e9da73 (No Format Information found).

Ответ 8

Очень часто вы должны использовать существующий *.mof файл для регистрации файлов трассировки. В C:\Windows\System32\Msdtc\Trace\u можно увидеть msdtctr.mof. Этот файл содержит описание файлов трассировки, и вам нужно использовать этот файл следующим образом:

tracefmt log_filename -tmf msdtctr.mof