Windows 我从哪里获得tracefmt.exe?如何读取我的MSDTC跟踪?
为了打开MSDTC跟踪,我跟随。不幸的是,这很难理解,因为它没有假设读者有一个非常合理和明显的期望,特别是“我如何读取这个二进制日志文件?”我也阅读了,我发现我无法读取日志文件,因为我缺少了一些名为Windows 我从哪里获得tracefmt.exe?如何读取我的MSDTC跟踪?,windows,msdtc,Windows,Msdtc,为了打开MSDTC跟踪,我跟随。不幸的是,这很难理解,因为它没有假设读者有一个非常合理和明显的期望,特别是“我如何读取这个二进制日志文件?”我也阅读了,我发现我无法读取日志文件,因为我缺少了一些名为tracefmt.exe.exe的可执行文件,我显然是唯一一个有这个问题的人 因此,我的问题是:为什么我没有tracefmt.exe,我在哪里可以得到它?或者,为了切入点:我如何读取我的MSDTC跟踪日志?tracefmt(以及更容易使用的traceview)在Windows驱动程序工具包(WDK)中
tracefmt.exe
.exe的可执行文件,我显然是唯一一个有这个问题的人
因此,我的问题是:为什么我没有tracefmt.exe,我在哪里可以得到它?或者,为了切入点:我如何读取我的MSDTC跟踪日志?tracefmt(以及更容易使用的traceview)在Windows驱动程序工具包(WDK)中提供。可在以下位置获取:。它位于WDK中,因为这种跟踪技术更常用于设备驱动程序。Tracefmt.exe随Windows驱动程序工具包提供 DTC跟踪 分布式服务支持团队的博客更详细地介绍了这一点 Windows驱动程序工具包 公认答案中的链接似乎已断开。我找到了和 下载ISO并进入安装屏幕Microsoft Windows驱动程序工具包后,请仅从完整开发环境中选择工具。tracefmt.exe位于
\\Tools\tracing\i386
中。确保从64位或32位目录复制tracefmt.exe的版本
上面的博主将这些文件移到了DTC文件夹
%systemroot%\MsDtc\Trace
,可能它们位于msdtcvtr.bat
路径中。为了在下载所有WDK(600MB+)时保存,只需下载200KB的文件,我选择了4.7MB的下载,方法如下:
support.cab
,将此文件的内容提取到某个地方tracefmt.exe
和tracept.dll
。将这些复制到您的%windir%\system32\msdtc\trace
目录中在从上述文章(以及其他地方)中搜索tracefmt.exe和tracept.dll后,我发现您需要64位版本的工具才能在Windows Server 2008上运行该程序 我找到了 并发现,如果安装了visual studio,您应该能够在本地计算机上找到exe和dll的64位和32位版本:
- ProgramFiles\Microsoft SDK\Windows\v6.0A\Bin\(32位)
- ProgramFiles\Microsoft SDK\Windows\v6.0A\Bin\x64\(64位)
C:\ProgramFiles(x86)\Microsoft SDK\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
我发现Darren和Thomas Bratt的答案非常有用,但为了使用tracefmt
成功解析DTC文件,我必须提供tmf
参数:
tracefmt -tmf msdtctr.mof dtctrace.log
否则,每一件事的结果都是
Unknown( 21): GUID=75f91e0e-d50c-47c9-b06f-3f2013e9da73 (No Format Information found).
通常,您应该使用现有的*.mof文件来加密跟踪文件。 在C:\Windows\System32\Msdtc\Trace\u中可以看到msdtctr.mof。 此文件包含跟踪文件的说明,您需要像这样使用此文件:
tracefmt log_filename -tmf msdtctr.mof
非常感谢。如果您不想安装整个SDK、挂载ISO文件、转到WDK文件夹并找到文件tracingtool_x64fre_cab001.cab(x86或ia64,具体取决于您的体系结构),我希望记录MSDTC的男孩或女孩能够包含这一重要细节,而不是一致地将其称为“SDK”并将文件_tracefmt.exe_00002解压缩到您选择的文件夹中。将文件重命名为tracefmt.exe,即可完成。如果生成跟踪的服务器是64位计算机,则需要使用x64版本的exe。它不断告诉我tracept.dll已丢失,但该dll位于路径中。我还尝试用regsvr32注册它,但没有成功。这在Windows 7 x64上似乎不起作用(即使在将tracept.dll添加到C:\Windows\SysWow64之后,它也不再抱怨dll)。不过,使用Windows DDK中的amd64版本的tracefmt.exe可以正常工作。确认:它不适用于Windows 7 x64,但从amd64文件夹中获取的tracefmt.exe可以神奇地工作,即使在英特尔处理器上也可以保存下载任何内容,特别是大型驱动程序工具包。我刚刚将TraceFmt.exe从另一台服务器复制到同一个文件夹,您可以直接使用,也可以与批处理文件一起使用。像冠军一样工作!!!Thomas Bratt建议的方法帮助我解决了这个问题(将exe从C:\Program Files(x86)\Microsoft SDK\Windows\v7.0A\Bin\x64复制到跟踪文件夹)。VS 2008也是如此,我很幸运地发现了这一点。不幸的是,在使用VS 2010和VS 2012的系统上,我找不到它,无论是在
程序文件
(不再有Microsoft SDK
子文件夹)下,还是在程序文件(x86)
下,它们似乎已经移动了它。