Megosztás a következőn keresztül:


WPP-előfeldolgozó

Ez a szakasz a Windows Software Trace előfeldolgozót, más néven WPP-előfeldolgozót ismerteti.

A WPP-előfeldolgozó meghívása

A WPP-előfeldolgozót a Visual Studióval és az MSBuild környezettel hívhatja meg.

A WPP-előfeldolgozó meghívása

  1. Kattintson a jobb gombbal az illesztőprogram-projektre a Megoldáskezelőben, és kattintson a Tulajdonságok parancsra.

  2. A projekttulajdonságok lapján kattintson a Konfiguráció tulajdonságai elemre, majd a WPP-nyomkövetés elemre

  3. Az Általánosterületen állítsa a WPP futtatása beállítást Igenértékre.

  4. A parancssorban az alábbi beállításokat is hozzáadhatja a nyomkövetési viselkedés testreszabásához.

    A WPP-nyomkövetés alatt például megadhat egy scan configuration data fájlt.

    Ha egynél több konfigurációs fájlt kell megadnia, például egyéni adattípusok megadásához, hivatkozzon a fájlra a parancssorban a -scan beállítással, például:

    -scan:"$(KMDF_INC_PATH)\$(KMDF_VER_PATH)\WdfTraceEnums.h"
    

A buildelési folyamatról további információt a TraceWPP-feladat , a WDK és a Visual Studio buildkörnyezetében talál.

Az előfeldolgozót a buildkörnyezettől elkülönítve is futtathatja a TraceWPP eszközzel (TraceWPP.exe). Ez az eszköz a WDK bin/x86 alkönyvtárában található.

A WPP nyomkövetésének általános beállításai

Az alábbi táblázatok a WPP-előfeldolgozó beállításait ismertetik. Ezeket a beállításokat konfigurálhatja a Visual Studióban a projekt WPP Nyomkövetés tulajdonságlapján, vagy paraméterként a TraceWPP eszközhöz.

WPP nyomkövetési opció Leírás

WPP futtatása

Ha igaz, meghívja a WPP-t.

Minimális újraépítés engedélyezése

Ha igaz, a folyamat nyomon követi a növekményes buildet; ha hamis, újraépítés történik.

Függvény- és makróbeállítások

WPP-nyomkövetési beállítás TraceWPP parancsbeállítás Leírás

Preprocesszor-definíciók

-DMakró

Hozzáadja #definemakrót a létrehozott fájl elejéhez, ahol a Makró egy makró neve.

Ennek a beállításnak ugyanaz a hatása, mint a /D (makró definiálása) fordítóbeállításnak. A rendszer biztosítja, hogy a definiálások érvényesek legyenek a TMH-fájlok elején.

-Dmakró=bővítés

Hozzáadja #definemakróbővítést a létrehozott fájl elejéhez, ahol a Makró egy makró neve, a Kibontás pedig a kibontott érték.

Ennek a beállításnak ugyanaz a hatása, mint a /D (makró definiálása) fordítóbeállításnak. A rendszer biztosítja, hogy a definiálások érvényesek legyenek a TMH-fájlok elején.

Kernel-Mode-összetevők nyomon követése

-kilométer

Meghatározza a WPP_KERNEL_MODE makrót, amely kernelmódú összetevőket követ nyomon. Alapértelmezés szerint csak a felhasználói módú összetevők lesznek nyomon követve.

Dll-makró engedélyezése

-dll

Meghatározza a WPP_DLL makrót, amely a WPP-adatstruktúrák inicializálását eredményezi WPP_INIT_TRACING meghívásakor. Ellenkező esetben a struktúrák inicializálása csak egyszer megtörténik.

Vezérlő GUID-jének megadása

-ctl:GUID

Definiál egy WPP_CONTROL_GUIDS makrót a megadott vezérlő GUID azonosítójával és WPP_DEFINE_BIT Hiba, Szokatlan és Zaj nevű bejegyzésekkel.

Ez egy alternatíva a makró forrásfájlhoz való hozzáadásához.

A GUID a vezérlő GUID-jának felel meg.

Keresési és formázási beállítások

WPP-nyomkövetési beállítás TraceWPP parancsbeállítás Leírás

Felkiáltójelek figyelmen kívül hagyása

-noshrieks

Arra utasítja a WPP-t, hogy figyelmen kívül hagyja a felkiáltójeleket, más néven "shrieks"-eket.

Összetett formázásban használatos, például %!időbélyeg!%. Alapértelmezés szerint felkiáltójelekre van szükség, és a WPP megpróbálja értelmezni őket.

Számrendszer alap formátum karakterláncokhoz

-argbase:Number

Numerikus alapot hoz létre a formátum sztringek számozásához, például: "%1!d!, %2!s!". Az alapértelmezett érték 1.

Függvény trace üzenetek generálásához

-func:FunctionDescription

A DoTraceMessage makró alternatíváit adja meg. Ezek a függvények ezután nyomkövetési üzenetek létrehozására használhatók.

Definiálhat például egy függvényt, amely a nyomkövetési üzenetek jelölőit és szintjét is meghatározza, például:

-func (DoMyTraceMessage(LEVEL,FLAGS,MSG,...)

A -func lehetőség több példányát is használhatja.

Ez a beállítás alternatíva a függvényleírások helyi konfigurációs fájlban való megadására.

A keresett karakterlánc megadása

-lookfor:String

Arra utasítja a WPP-t, hogy keressen rá a megadott sztring forrásfájljaira a nyomkövetés kezdeményezéséhez. Alapértelmezés szerint a WPP a "WPP_INIT_TRACING" karakterláncot keresi.

Ez egy speciális lehetőség azoknak a felhasználóknak, akik saját sablonokat írnak.

Például a default.tpl fájlban:

IF FOUND WPP_INIT_TRACING
 INCLUDE um-init.tpl
ENDIF

Modulnév megadása

-p:String

Alternatív rövid nevet ad meg a üzenet GUID-jének az nyomkövetési szolgáltatótól érkező üzenetek esetén. Alapértelmezés szerint az üzenet GUID azonosítója annak a könyvtárnak a neve, amelyben a nyomkövetési szolgáltató készült.

Az üzenet GUID azonosítójának barátságos neve alapértelmezés szerint megjelenik a változó által képviselt nyomkövetési üzenet előtagjában, %1. Ezzel a paraméterrel hozzáadhat egy sztringet az előtaghoz, amely segít a felhasználónak azonosítani a nyomkövetési szolgáltatót, például a nyomkövetési szolgáltató rövid nevét, a nyomkövetési szolgáltatót tartalmazó modul nevét vagy egy több nyomkövetési szolgáltató létrehozásával megvalósított projekt nevét. Ez az információ segít a felhasználóknak a különböző fájlokban vagy különböző elérési utakon található kapcsolódó nyomkövetési szolgáltatók társításában.

A -p paraméterhez a WPP azon verziója szükséges, amely a Windows Vista és a WDK újabb verzióihoz készült Windows Driver Kit (WDK) része. A -p paraméter a Windows 2000 és újabb verzióiban működik.

Példák:

-p:TraceDrv
-p:AudioModule

Fájlbeállítások

WPP-nyomkövetési beállítás TraceWPP parancsbeállítás Leírás

További beillesztési könyvtárak

-IElérési út1[;Elérési út2]

Megadja a belefoglalási útvonalhoz hozzáadni kívánt egy vagy több könyvtárat; ha több is van, akkor a kettőspontokkal kell elválasztani. Ugyanaz, mint a -cfgdir.

Konfigurációs könyvtárak

-cfgdir:Path1[;Elérési út2]

Megadja a konfigurációs és sablonfájlok helyét.

Path1 és Path2 a könyvtár teljesen kvalifikált elérési útját jelölik. Több elérési utat is megadhat. Az alapértelmezett a helyi könyvtár.

Fájlkiterjesztések

-ext:.ext1[.ext2]

Megadja azokat a fájltípusokat, amelyeket a WPP forrásfájlként ismer fel. A WPP figyelmen kívül hagyja a más fájlnévkiterjesztéssel rendelkező fájlokat.

A WPP alapértelmezés szerint csak .c, .c++, .cpp és .cxx fájlokat ismer fel.

Ez a beállítás lehetővé teszi a WPP alapértelmezett beállításait anélkül, hogy törölnie vagy átneveznie kellene a WPP által nem használt erőforrásfájlokat, például .rc és .mc fájlokat.

Ha például c++ fájlokhoz és fejlécfájlokhoz szeretne nyomkövetést hozzáadni, használja a következő parancsot:

-ext:.cpp.CPP.h.H

A C++ és a fejlécfájlok TMH-fájljainak különböző nevekhez való hozzáadásához használja a -preserveext lehetőséget.

Fájlkiterjesztések megőrzése

-preserveext:.ext1[.ext2]

TMH-fájlok létrehozásakor megőrzi a megadott fájlnévkiterjesztéseket.

Alapértelmezés szerint az összes fájltípus TMH-fájljainak neve filename.tmh. Ez a fájlnévütközéseket okozta, ha több forrásfájllal rendelkezik ugyanazzal a névvel.

Alapértelmezés szerint például a C-fájlok (.c) és a fejlécfájlok (.h) TMH-fájljai fájlnév.tmh> néven lesznek elnevezve<. A -preserveext:.c .h használatával a TMH-fájlok neve <filename.c.tmh> és <filename.h.tmh>.

Kimeneti könyvtár

-odir:path

Megadja a WPP által létrehozott kimeneti fájlok könyvtárát.

Az elérési út a könyvtár pontosan meghatározott útvonala. Az alapértelmezett a helyi könyvtár.

Sablonfájl megadása

-gen{ File.tpl }. ext

Minden olyan forrásfájlhoz, amelyet a WPP a zárójelek {}között megadott névvel dolgoz fel, hozzon létre egy másik fájlt a megadott fájlnévkiterjesztéssel.

A File.tpl a forrásfájlt jelöli. A *.ext a létrehozott fájltípust és annak fájlnévkiterjesztését jelöli.

Több -gen beállítást is megadhat.

A -gen{um-default.tpl}.tmh például azt jelenti, hogy minden olyan um-default.tpl fájlhoz, amelyet a WPP feldolgoz, egy um-default.tmh fájlt hoz létre.

Konfigurációs adatok vizsgálata

-scan:File

Konfigurációs adatokat keres, például egyéni adattípusokat egy olyan fájlban, amely nem konfigurációs fájl, valamint defaultwpp.ini.

Az azonosításhoz helyezze a begin_wpp és end_wpp sztringeket a konfigurációs adatok köré. Használja ugyanazt a formátumot a konfigurációs adatokhoz, mint a defaultwpp.ini.

Ha hozzáadta a konfigurációs adatokat egy egyéni konfigurációs fájlhoz, használja az -ini paramétert .

Alternatív konfigurációs fájl

-defwpp:path

Alternatív konfigurációs fájlt ad meg. A Wpp ezt a fájlt használja a defaultwpp.ini fájl helyett.

További konfigurációs fájl

-ini:Útvonal

Egy további konfigurációs fájlt ad meg. A WPP az alapértelmezett fájlon kívül a megadott fájlt is használja, defaultwpp.ini.

Ezt a paramétert akkor használja, ha létrehozott egy új konfigurációs fájlt a konfigurációs adatok nyomkövetéshez való tárolásához. Ha a konfigurációs adatokat egy másik fájltípushoz, például forrás- vagy fejlécfájlhoz adta hozzá, használja a -scan paramétert.

WPP-létrehozási folyamat

Ha a WPP engedélyezve van egy illesztőprogramhoz vagy felhasználói módú alkalmazáshoz, az illesztőprogram vagy az alkalmazás létrehozása meghívja a WPP-előfeldolgozót az illesztőprogram- vagy alkalmazásfájlok fordítása előtt.

A WPP buildelési folyamata a következő lépéseket hajtja végre:

  1. A WPP-előfeldolgozó minden forrásfájlban feldolgozza a WPP-makrókat, és létrehoz egy nyomkövetési üzenet fejlécfájlt minden forrásfájlhoz. A forráskód nincs közvetlenül módosítva.

  2. Miután a WPP-előfeldolgozó létrehozta a nyomkövetési üzenet fejlécfájljait, a C előfeldolgozó normál módon dolgozza fel a WPP beépített makróit a nyomkövetési üzenet fejlécfájljaiban.