24

为了打开 MSDTC 跟踪,我遵循了 MS 的知识库文章。不幸的是,这很难理解,因为它没有假设读者有一个非常合理和明显的期望,特别是“我如何阅读这个二进制日志文件?” 我也从 MSDN阅读了这个页面,在那里我发现我无法读取日志文件,因为我缺少一些名为 的可执行文件tracefmt.exe,而且我显然是唯一一个遇到这个问题的人。

因此我的问题是:为什么我没有 tracefmt.exe,我从哪里得到它?或者,直截了当:如何阅读我的 MSDTC 跟踪日志?

4

8 回答 8

33

安装 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

于 2012-06-13T09:49:26.547 回答
19

为了节省下载所有 WDK (600MB+) 的费用,仅下载 200KB 的文件,我通过执行以下操作选择了 4.7MB 的下载:

  1. 从此处下载“Windows XP Service Pack 2 支持工具”:http: //www.microsoft.com/downloads/details.aspx?FamilyId=49AE8576-9BB9-4126-9761 -BA8011FABF38&displaylang=en
  2. 如果从 XP 运行,只需解压即可
  3. 如果从 2003 年开始运行(就像我一样),你会得到一个错误,说它只能安装在 XP 上。因此,要解决这个问题,请使用工具来提取 exe。
  4. exe里面会有一个support.cab,把这个的内容解压到某个地方
  5. 查找这两个文件,tracefmt.exe然后traceprt.dll. 将这些复制到您的%windir%\system32\msdtc\trace目录
于 2010-09-06T23:46:45.347 回答
12

Windows Driver Kit (WDK) 中提供了 tracefmt(和更易于使用的 traceview)。可在此处获得: http: //www.microsoft.com/en-us/download/details.aspx ?displaylang=en&id=11800 。它在 WDK 中,因为这种跟踪技术更常用于设备驱动程序中。

于 2009-08-25T17:05:25.930 回答
12

DTC 追踪

分布式服务支持团队博客详细介绍了如何跟踪 DTC 。

Windows 驱动程序工具包

已接受答案中的链接似乎已损坏。我找到了Windows Driver Kit 主页当前下载链接

下载 ISO 并进入安装屏幕 Microsoft Windows Driver Kit 后,从完整开发环境中仅选择工具。tracefmt.exe 位于<install-path>\<version>\Tools\tracing\i386. 确保从 64 位或 32 位目录复制 tracefmt.exe 的版本!

上面的博主将这些文件移到了 DTC 文件夹%systemroot%\MsDtc\Trace中,可能它们在msdtcvtr.bat路径中。

于 2010-08-03T19:43:45.637 回答
5

在从上述帖子(和其他地方)中搜索 tracefmt.exe 和 traceprt.dll 后,我发现您需要 64 位版本的工具才能在 Windows Server 2008 上运行该程序。

我找到了这篇博文

并发现如果您安装了 Visual Studio,您应该能够在本地计算机上找到 exe 和 dll 的 64 位和 32 位版本:

  • ProgramFiles\Microsoft SDKs\Windows\v6.0A\Bin\(32 位)
  • ProgramFiles\Microsoft SDKs\Windows\v6.0A\Bin\x64\(64 位)
于 2012-02-28T16:45:15.403 回答
2

Tracefmt.exe 附带 Windows 驱动程序工具包。

http://www.microsoft.com/downloads/details.aspx?FamilyID=2105564e-1a9a-4bf4-8d74-ec5b52da3d00&displaylang=en

于 2009-08-25T17:05:41.640 回答
1

很多时候,您应该使用现有的 *.mof 文件来编码跟踪文件。在 C:\Windows\System32\Msdtc\Trace\ 你可以看到 msdtctr.mof。这个文件有跟踪文件的描述,你需要像这样使用它:

tracefmt log_filename -tmf msdtctr.mof
于 2016-11-22T09:23:12.733 回答
0

我发现 Darren 和 Thomas Bratt 的回答很有帮助,但是为了使用 成功解析 DTC 文件tracefmt,我必须提供tmf参数:

tracefmt -tmf msdtctr.mof dtctrace.log

否则,每个事件都会变成类似

Unknown( 21): GUID=75f91e0e-d50c-47c9-b06f-3f2013e9da73 (No Format Information found).
于 2015-03-13T07:33:16.800 回答