Где я могу получить tracefmt.exe? И как мне читать мои следы MSDTC?
Я пошел статью KB из MS, чтобы включить трассировку MSDTC. К сожалению, было трудно следовать, поскольку он не предполагает очень разумного и очевидного ожидания читателя, а именно "как я могу прочитать этот файл двоичного журнала?" Я прочитал эту страницу из MSDN, где я обнаружил, что не могу прочитать файл журнала, потому что мне не хватает исполняемого файла под названием tracefmt.exe
, и я, по-видимому, единственный в этой ситуации с этой проблемой.
Следовательно, мой вопрос: Почему у меня нет tracefmt.exe и где его получить? или, чтобы добраться до точки: Как читать журналы трассировки MSDTC?
Ответы
Ответ 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-разрядная версия)
Ответ 6
Tracefmt.exe поставляется с набором драйверов для Windows.
http://www.microsoft.com/downloads/details.aspx?FamilyID=2105564e-1a9a-4bf4-8d74-ec5b52da3d00&displaylang=en
Ответ 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