Útmutató: Feltételes fordítás nyomkövetéssel és hibakereséssel
Feljegyzés
Ez a cikk a .NET-keretrendszer vonatkozik. Ez nem vonatkozik a .NET újabb implementációira, beleértve a .NET 6-os és újabb verzióit.
Miközben fejlesztés közben hibakeresést futtat egy alkalmazáson, a nyomkövetési és hibakeresési kimenet a Visual Studióban a Kimenet ablakba kerül. Ha azonban nyomkövetési funkciókat szeretne bevonni egy üzembe helyezett alkalmazásba, a rendszerezett alkalmazásokat úgy kell lefordítania, hogy engedélyezve van a TRACE fordító irányelve. Ez lehetővé teszi a nyomkövetési kód fordítását az alkalmazás kiadási verziójába. Ha nem engedélyezi a TRACE-direktívát, a rendszer figyelmen kívül hagyja az összes nyomkövetési kódot a fordítás során, és nem szerepel az üzembe helyezendő végrehajtható kódban.
Mind a nyomkövetési, mind a hibakeresési metódushoz társított feltételes attribútumok tartoznak. Ha például a nyomkövetés feltételes attribútuma igaz, az összes nyomkövetési utasítás szerepel egy szerelvényben (egy lefordított .exe fájlban vagy .dll); ha a nyomkövetési feltételes attribútum hamis, a nyomkövetési utasítások nem lesznek belefoglalva.
A Trace vagy a Debug feltételes attribútum be van kapcsolva egy buildhez, vagy mindkettőhöz, vagy egyikhez sem. Így négy buildtípus létezik: Hibakeresés, Nyomkövetés, mindkettő vagy egyik sem. Az éles környezet egyes kiadási buildjei egyiket sem tartalmazhatják; a legtöbb hibakeresési build mindkettőt tartalmazza.
Az alkalmazás fordítóbeállításait többféleképpen is megadhatja:
A tulajdonságlapok
A parancssor
#CONST (Visual Basichez) és #define (C#-hoz)
Fordítási beállítások módosítása a tulajdonságlapok párbeszédpanelről
Kattintson a jobb gombbal a projektcsomópontra a Megoldáskezelő.
Válassza a Helyi menü Tulajdonságok elemét .
A Visual Basicben kattintson a Tulajdonságlap bal oldali ablaktábláján a Fordítás fülre, majd a Speciális fordítási beállítások gombra a Speciális fordítóbeállítások párbeszédpanel megjelenítéséhez. Jelölje be az engedélyezni kívánt fordítóbeállítások jelölőnégyzetét. Törölje a letiltani kívánt beállítások jelölőnégyzetének jelölését.
A C#-ban kattintson a tulajdonságlap bal oldali ablaktábláján a Build fülre, majd jelölje be az engedélyezni kívánt fordítóbeállítások jelölőnégyzetét. Törölje a letiltani kívánt beállítások jelölőnégyzetének jelölését.
Rendszerezett kód fordítása a parancssor használatával
Állítson be egy feltételes fordítókapcsolót a parancssorban. A fordító nyomkövetési vagy hibakeresési kódot fog tartalmazni a végrehajtható fájlban.
A parancssorba beírt következő fordítói utasítás például tartalmazza a nyomkövetési kódot egy lefordított végrehajtható fájlban:
Visual Basic esetén: vbc -r:System.dll -d:TRACE=TRUE -d:DEBUG=FALSE MyApplication.vb
C#: csc -r:System.dll -d:TRACE -d:DEBUG=FALSE MyApplication.cs
Tipp.
Több alkalmazásfájl fordításához hagyjon üres helyet a fájlnevek között, például MyApplication1.vb MyApplication2.vb MyApplication3.vb vagy MyApplication1.cs MyApplication2.cs MyApplication3.cs.
A fenti példákban használt feltételes fordítási irányelvek jelentése a következő:
Irányelv Értelmezés vbc
Visual Basic fordító csc
C# compiler (C#-fordítóprogram) -r:
Külső szerelvényre hivatkozik (EXE vagy DLL) -d:
Feltételes fordítási szimbólum definiálása Feljegyzés
A TRACE vagy a DEBUG szöveget nagybetűkkel kell írnia. A feltételes fordítási parancsokkal kapcsolatos további információkért írja be
vbc /?
(Visual Basic esetén) vagycsc /?
(C#esetén) a parancssorba. További információ: Build from the Parancssor (C#) vagy Invoking the Command-Line Compiler (Visual Basic).
Feltételes fordítás végrehajtása #CONST vagy #define használatával
Írja be a programozási nyelv megfelelő utasítását a forráskódfájl tetején.
Nyelv Utasítás Eredmény Visual Basic #CONST TRACE = true Nyomkövetés engedélyezése #CONST TRACE = false Letiltja a nyomkövetést #CONST HIBAKERESÉS = igaz Lehetővé teszi a hibakeresést #CONST HIBAKERESÉS = hamis Letiltja a hibakeresést C# #define TRACE Nyomkövetés engedélyezése #undef TRACE Letiltja a nyomkövetést #DEFINE HIBAKERESÉS Lehetővé teszi a hibakeresést #undef HIBAKERESÉS Letiltja a hibakeresést
Nyomkövetés vagy hibakeresés letiltása
Törölje a fordító irányelvét a forráskódból.
-Vagy-
Megjegyzés a fordítóról szóló irányelvhez.
Feljegyzés
Ha készen áll a fordításra, a Build menüben választhatja a Build lehetőséget, vagy használhatja a parancssori metódust, de a d: beírása nélkül feltételes fordítási szimbólumok definiálásához.
Lásd még
- Alkalmazások nyomon követése és műszerezése
- Útmutató: Nyomkövetési kapcsolók létrehozása, inicializálása és konfigurálása
- Nyomkövetési kapcsolók
- Nyomkövetési figyelők
- Útmutató: Nyomkövetési utasítások hozzáadása az alkalmazáskódhoz
- Környezeti változók beállítása a Visual Studio parancssorához
- Útmutató: A parancssori fordító meghívása
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: