Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Windows 我从哪里获得tracefmt.exe?如何读取我的MSDTC跟踪?_Windows_Msdtc - Fatal编程技术网

Windows 我从哪里获得tracefmt.exe?如何读取我的MSDTC跟踪?

Windows 我从哪里获得tracefmt.exe?如何读取我的MSDTC跟踪?,windows,msdtc,Windows,Msdtc,为了打开MSDTC跟踪,我跟随。不幸的是,这很难理解,因为它没有假设读者有一个非常合理和明显的期望,特别是“我如何读取这个二进制日志文件?”我也阅读了,我发现我无法读取日志文件,因为我缺少了一些名为tracefmt.exe.exe的可执行文件,我显然是唯一一个有这个问题的人 因此,我的问题是:为什么我没有tracefmt.exe,我在哪里可以得到它?或者,为了切入点:我如何读取我的MSDTC跟踪日志?tracefmt(以及更容易使用的traceview)在Windows驱动程序工具包(WDK)中

为了打开MSDTC跟踪,我跟随。不幸的是,这很难理解,因为它没有假设读者有一个非常合理和明显的期望,特别是“我如何读取这个二进制日志文件?”我也阅读了,我发现我无法读取日志文件,因为我缺少了一些名为
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的下载,方法如下:

  • 从以下位置下载“Windows XP Service Pack 2支持工具”:
  • 如果从XP运行,只需提取并运行
  • 如果从2003年开始运行(像我一样),您将收到一个错误,说明这只能安装在XP上。因此,要解决这个问题,请使用工具提取exe
  • exe内部将有一个
    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位)

    安装了Visual Studio 2010后,我在以下位置找到了该工具:

    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)
    下,它们似乎已经移动了它。