Home » .Net Framework

Tracefmt.exe failing when trying to convert DTC logs

On our Windows 2008 server I tried two copies of Tracefmt.exe - one from the the Windows XP Support Tools (because the documentation doesn't specify that this is os specific), and one from the Windows 2008 Platform SDK.

When I put the Windows 2008 platform sdk version of Tracefmt.exe in the C:\Windows\System32\Msdtc\Trace directory, and then run "msdtcvtr -tracelog dtctrace.log" (after first having flushed data), or "msdtcvtr -tracelog tracetx.log" (having dumped a transaction via the transaction list), I always get the following error:

Failed to convert the binary trace data to text format.
Following reasons can cause this to happen:
1) The utility TraceFmt.exe is missing
2) The file dtctrace.log is either missing or corrupted
3) The file C:\Windows\system32\msdtc\trace\msdtctr.mof is either missing or corrupted
The exact error message can be found in the file 'C:\Windows\system32\msdtc\trace\errortrace.txt'

If I attempt to run tracefmt directly using "tracefmt tracetx.log -trace -displayonly -tmf msdtctr.mof" I get:

Setting log file to: C:\Windows\System32\Msdtc\Trace\tracetx.log
Cannot open logfile for reading
Processing completed Buffers: 0, Events: 0, EventsLost: 0 :: Format Errors: 0, Unknowns: 0

If I use the Windows XP version of Tracefmt.exe it throws an error saying it cannot find a required DLL.

So my first question is where I am supposed to get a working version of Tracefmt.exe from?

Second question is why is so painful to get a trace of DTC - why isn't the tool installed by default when DTC in installed in such a way that getting trace output is a 5 minute job rather than a 1 day + one.

Thanks, Michael.


4 Answers Found


Answer 1

One one more person to the list. Having exactly the same problem.


Answer 2

Solved my problem by using the appropriate version in 64-Bit! I used tracefmt from Windows SDK there is 64-bit subfolder of bin.


Answer 3

Yes, it definitely should be easier to get this tool.

A command line like this is working for me, to call tracefmt directly:

tracefmt dtctrace.log.2009-blahblah -o myOutputFile.txt -tmf msdtctr.mof


Answer 4

Solved my problem by using the appropriate version in 64-Bit! I used tracefmt from Windows SDK there is 64-bit subfolder of bin.



I've got the same problem, The solution works for me.


<< Previous      Next >>

Microsoft   |   Windows   |   Visual Studio   |   Sharepoint   |   Azure