web-dev-qa-db-ja.com

tracefmt.exeはどこで入手できますか?また、MSDTCトレースを読み取るにはどうすればよいですか?

MSDTCトレースをオンにするために、 MSからのKB記事 に従いました。残念ながら、読者の非常に合理的で明白な期待、特に「このバイナリログファイルを読み取る方法」を想定していないため、従うのは困難でした。 MSDNのこのページ も読みましたが、tracefmt.exeという実行可能ファイルがないため、ログファイルを読み取ることができず、明らかに私だけです。この問題がある場所ならどこでも。

したがって、私の質問:tracefmt.exeがないのはなぜですか?どこで入手できますか?または、要点を理解するには:MSDTCトレースログを読み取るにはどうすればよいですか?

19
Adam Ritenauer

tracefmt(および使いやすいtraceview)は、Windows Driver Kit(WDK)で利用できます。ここから入手できます: http://www.Microsoft.com/en-us/download/details.aspx?displaylang=en&id=118 。このトレーステクノロジはデバイスドライバでより一般的に使用されているため、WDKに含まれています。

12
Michael

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

32
Thomas Bratt

すべての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. これらの2つのファイル、tracefmt.exetraceprt.dllを探します。これらを%windir%\system32\msdtc\traceディレクトリにコピーします
18
eyesnz

DTCトレース

分散サービスサポートチームのブログでは、 DTCを追跡する方法 について詳しく説明しています。

Windows Driver Kit

受け入れられた回答のリンクが壊れているようです。 Windows Driver Kitホームページ および 現在のダウンロードリンク を見つけました。

ISOをダウンロードし、インストール画面であるMicrosoft Windows Driver Kitが表示されたら、[完全な開発環境]から[ツール]のみを選択します。 tracefmt.exeは<install-path>\<version>\Tools\tracing\i386にあります。 tracefmt.exeのバージョンを64ビットまたは32ビットのディレクトリからコピーしてください!

上記のブロガーは、これらのファイルをDTCフォルダー%systemroot%\MsDtc\Traceに移動したため、おそらくmsdtcvtr.batパスにありました。

10

上記の投稿(および他の場所)からtracefmt.exeおよびtraceprt.dllを検索した後、プログラムをWindows Server2008で実行するには64ビットバージョンのツールが必要であることがわかりました。

見つけました このブログ投稿

visual Studioがインストールされている場合は、ローカルマシンでexeとdllの64ビットバージョンと32ビットバージョンの両方を見つけることができるはずです。

  • ProgramFiles\Microsoft SDKs\Windows\v6.0A\Bin \(32ビット)
  • ProgramFiles\Microsoft SDKs\Windows\v6.0A\Bin\x64 \(64ビット)
5
Darrin S.
2
RyanY

多くの場合、トレースファイルをエンコードするために既存の* .mofファイルを使用する必要があります。 C:\ Windows\System32\Msdtc\Trace \では、msdtctr.mofを確認できます。このファイルにはトレースファイルの説明があり、次のようにファイルを使用する必要があります。

tracefmt log_filename -tmf msdtctr.mof
1

DarrenとThomasBrattの回答は非常に役に立ちましたが、tracefmtを使用してDTCファイルを正常に解析するには、tmfパラメーターを指定する必要がありました。

tracefmt -tmf msdtctr.mof dtctrace.log

そうでなければ、すべてのイベントは次のようなものになりました

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