9. példa: TMF-fájl létrehozása

Az alábbi parancs arra utasítja a Tracefmtet, hogy formázza és megjelenítse a nyomkövetési üzeneteket a Tracedrv.etl-ben, a Tracedrv által létrehozott nyomkövetési naplóban. A Szoftverkövetéshez tervezett TraceDrv mintaillesztő a GitHub Windows-illesztőprogram-mintaadattárában érhető el.

A parancs tartalmazza az -i paramétert, amely arra utasítja a Tracefmtet, hogy hozzon létre egy TMF-fájlt a Tracedrv számára.

tracefmt d:\tracedrv\tracedrv.etl -i d:\tracedrv\tracedrv.sys -r d:\tracedrv 
-p d:\tracedrv\tmfs -o d:\tracedrv\tracedrv1.txt -v

A parancs az -i paraméterrel jelzi a WDK-ban található Tracedrv képfájljának teljes elérési útját, Tracedrv.sys.

-i d:\tracedrv\tracedrv.sys

Az -r paraméterrel jelzi a Tracedrv, Tracedrv.pdb PDB szimbólumfájl teljes verziójának teljes elérési útját. Figyelje meg, hogy ezzel a paraméterrel egy elérési utat ad meg, fájlnevet azonban nem. A Tracefmt megkeresi a szimbólumfájl megfelelő verzióját az -i által megadott képfájl alapján.

-r d:\tracedrv

A parancs a -p paraméter használatával utasítja a Tracefmt-et a Tracedrv számára létrehozott TMF-fájl elhelyezésére a d:\tracedrv\tmfs könyvtárban.

-p d:\tracedrv\tmfs

A parancs az -o paraméter használatával utasítja a Tracefmt-et a formázott nyomkövetési üzenetek kimeneti fájljának a d:\tracedrv\tracedrv1.txt fájlba való elhelyezésére. Ez a paraméter az összegző fájlt is ugyanabba a könyvtárba helyezi a Tracedrv.txt.sum fájlnévvel.

-o d:\tracedrv\tracedrv1.txt

A -v paraméter részletes üzeneteket kér.

A parancsra válaszul a Tracefmt megkeresi és megkeresi a d:\tracedrv könyvtárban található Tracedrv.sys PDB-fájljának helyét. Kinyeri a nyomkövetési üzenet formázási utasításait a PDB-fájlból, és egy TMF-fájlban tárolja őket, ahogyan az az alábbi kimenetben félkövér típusú utasításban látható. A TMF-fájl neve a Tracedrv nyomkövetési szolgáltatójának üzenet GUID-ja. A Tracefmt emellett létrehoz egy nyomkövetési üzenetvezérlő (TMC) fájlt, és ugyanabban a könyvtárban helyezi el.

Miután a Tracefmt létrehozta a TMF-fájlt, beolvassa a fájlt, hogy megtalálja a nyomkövetési üzenetek formázási utasításait a Tracedrv.etl nyomkövetési naplójában. Első lépésként keresse meg a Default.tmf fájlt, és keresse meg a d:\tracedrv\tmfs könyvtárban létrehozott TMf-fájlt.

Az adatok formázása előtt a Tracefmt megjeleníti a nyomkövetési napló adatait. Az adatok a logfile d:\tracedrv\tracedrv.etl utasítással kezdődnek .

A kimenet utolsó utasításai azt mutatják, hogy a Tracefmt sikeresen formázta a nyomkövetési napló 13 eseményét, és létrehozta a Tracedrv1.txt és Tracedrv1.txt.sum fájlokat.

Setting log file to: d:\tracedrv\tracedrv.etl

Searching for matching PDB to d:\tracedrv\tracedrv.sys
Current Symbol Search Path = d:\tracedrv

Extracting TMF files out of found PDB files
DBGHELP: d:\tracedrv\tracedrv.pdb - OK
tracefmt : info BNP0000: WPPFMT generating d:\tracedrv\tmfs\1606d1a7-1682-57d1-65f7-36693800e096.tmf for d:\tracedrv\tracedrv.pdb
tracefmt : info BNP0000: WPPFMT generating d:\tracedrv\tmfs\d58c126f-b309-11d1-969e-0000f875a5bc.tmc for d:\tracedrv\tracedrv.pdb
Examining C:\WinDDK\5066\tools\tracing\i386\default.tmf for message formats,  3 found.
Searching for TMF files on path: d:\tracedrv\tmfs
Logfile d:\tracedrv\tracedrv.etl:
        OS version              5.1.2600  (Currently running on 5.1.2600)
        Start Time              2005-06-10-14:25:30.827
        End Time                2005-06-10-14:26:14.371
        Timezone is             Pacific Standard Time (Bias is 480mins)
        BufferSize              8192 B
        Maximum File Size       0 MB
        Buffers  Written        2
        Logger Mode Settings    (0) Logfile Mode is not set
        ProcessorCount          1
06/10/2005-21:25:45.539 ::        1: Filled=     696, Lost=  0 TotalLost= 0

Processing completed   Buffers: 1, Events: 13, EventsLost: 0 :: Format Errors: 0, Unknowns: 0

Event traces dumped to d:\tracedrv\tracedrv1.txt
Event Summary dumped to d:\tracedrv\tracedrv1.txt.sum

A Tracefmt-futtatás elsődleges kimenete Tracedrv.txt, amely a Tracedrv.etl nyomkövetési üzeneteinek formázott verzióját tartalmazza. Az alábbi szöveg a Tracedrv.txt tartalmát jeleníti meg.

EventTrace
[0]0338.0E40::06/10/2005-14:25:43.968 [tracedrv]IOCTL = 1
[0]0338.0E40::06/10/2005-14:25:43.968 [tracedrv]Hello, 1 Hi
[0]0338.0E40::06/10/2005-14:25:43.968 [tracedrv]Hello, 2 Hi
[0]0338.0E40::06/10/2005-14:25:43.968 [tracedrv]Hello, 3 Hi
[0]0338.0E40::06/10/2005-14:25:43.968 [tracedrv]Machine State :: Offline
[0]0338.0E40::06/10/2005-14:25:43.968 [tracedrv]Function Return=0x8000000f(STATUS_DEVICE_POWERED_OFF)
[0]0338.0E40::06/10/2005-14:25:45.539 [tracedrv]IOCTL = 2
[0]0338.0E40::06/10/2005-14:25:45.539 [tracedrv]Hello, 1 Hi
[0]0338.0E40::06/10/2005-14:25:45.539 [tracedrv]Hello, 2 Hi
[0]0338.0E40::06/10/2005-14:25:45.539 [tracedrv]Hello, 3 Hi
[0]0338.0E40::06/10/2005-14:25:45.539 [tracedrv]Machine State :: Offline
[0]0338.0E40::06/10/2005-14:25:45.539 [tracedrv]Function Return=0x8000000f(STATUS_DEVICE_POWERED_OFF)