Procedure: Voorwaardelijk compileren met tracering en foutopsporing
Notitie
Dit artikel is specifiek voor .NET Framework. Dit geldt niet voor nieuwere implementaties van .NET, waaronder .NET 6 en nieuwere versies.
Terwijl u tijdens de ontwikkeling fouten in een toepassing opspoort, gaat u zowel de tracering als foutopsporingsuitvoer naar het uitvoervenster in Visual Studio. Als u echter traceringsfuncties in een geïmplementeerde toepassing wilt opnemen, moet u uw geïnstrueerde toepassingen compileren waarvoor de TRACE-compilerrichtlijn is ingeschakeld. Hierdoor kan traceringscode worden gecompileerd in de releaseversie van uw toepassing. Als u de TRACE-instructie niet inschakelt, wordt alle traceringscode genegeerd tijdens de compilatie en wordt deze niet opgenomen in de uitvoerbare code die u gaat implementeren.
Zowel de tracerings- als foutopsporingsmethoden hebben voorwaardelijke kenmerken gekoppeld. Als het voorwaardelijke kenmerk voor tracering bijvoorbeeld waar is, worden alle traceringsinstructies opgenomen in een assembly (een gecompileerd .exe-bestand of .dll); als het voorwaardelijke kenmerk Traceren onwaar is, worden de traceringsinstructies niet opgenomen.
U kunt het voorwaardelijke kenmerk Traceren of Foutopsporing inschakelen voor een build, of beide, of geen van beide. Er zijn dus vier typen build: Foutopsporing, Trace, beide of geen van beide. Sommige release-builds voor productie-implementatie kunnen geen van beide bevatten; de meeste foutopsporings-builds bevatten beide.
U kunt de compilerinstellingen voor uw toepassing op verschillende manieren opgeven:
De eigenschappenpagina's
De opdrachtregel
#CONST (voor Visual Basic) en #define (voor C#)
Het dialoogvenster Compileerinstellingen wijzigen vanuit het dialoogvenster Eigenschappenpagina's
Klik met de rechtermuisknop op het projectknooppunt in Solution Explorer.
Kies Eigenschappen in het snelmenu.
Klik in Visual Basic op het tabblad Compileren in het linkerdeelvenster van de eigenschappenpagina en klik vervolgens op de knop Geavanceerde compileeropties om het dialoogvenster Geavanceerde compilerinstellingen weer te geven. Schakel de selectievakjes in voor de compilerinstellingen die u wilt inschakelen. Schakel de selectievakjes uit voor instellingen die u wilt uitschakelen.
Klik in C# op het tabblad Opbouwen in het linkerdeelvenster van de eigenschappenpagina en schakel vervolgens de selectievakjes in voor de compilerinstellingen die u wilt inschakelen. Schakel de selectievakjes uit voor instellingen die u wilt uitschakelen.
Geïnstrumenteerde code compileren met behulp van de opdrachtregel
Stel een voorwaardelijke compilerschakelaar in op de opdrachtregel. De compiler bevat tracerings- of foutopsporingscode in het uitvoerbare bestand.
De volgende compilerinstructie die op de opdrachtregel is ingevoerd, bevat bijvoorbeeld de traceringscode in een gecompileerd uitvoerbaar bestand:
Voor Visual Basic: vbc -r:System.dll -d:TRACE=TRUE -d:DEBUG=FALSE MyApplication.vb
Voor C#: csc -r:System.dll -d:TRACE -d:DEBUG=FALSE MyApplication.cs
Tip
Als u meer dan één toepassingsbestand wilt compileren, laat u een lege ruimte tussen de bestandsnamen, bijvoorbeeld MyApplication1.vb MyApplication2.vb MyApplication3.vb of MyApplication1.cs MyApplication2.cs MyApplication3.cs.
De betekenis van de richtlijnen voor voorwaardelijke compilatie die in de bovenstaande voorbeelden worden gebruikt, is als volgt:
Richtlijn Betekenis vbc
Visual Basic-compiler csc
C# compiler -r:
Verwijst naar een externe assembly (EXE of DLL) -d:
Definieert een symbool voor voorwaardelijke compilatie Notitie
U moet TRACE of DEBUG spellen met hoofdletters. Voor meer informatie over de opdrachten voor voorwaardelijke compilatie voert
vbc /?
u (voor Visual Basic) ofcsc /?
(voor C#) in bij de opdrachtprompt. Zie Bouwen vanaf de opdrachtregel (C#) of het aanroepen van de opdrachtregelcompilator (Visual Basic) voor meer informatie.
Voorwaardelijke compilatie uitvoeren met #CONST of #define
Typ de juiste instructie voor uw programmeertaal boven aan het broncodebestand.
Taal Instructie Resultaat Visual Basic #CONST TRACE = true Tracering inschakelen #CONST TRACE = false Tracering uitschakelen #CONST DEBUG = true Foutopsporing inschakelen #CONST FOUTOPSPORING = false Foutopsporing uitschakelen C# #define TRACE Tracering inschakelen #undef TRACE Tracering uitschakelen #DEFINE FOUTOPSPORING Foutopsporing inschakelen FOUTOPSPORING #undef Foutopsporing uitschakelen
Tracering of foutopsporing uitschakelen
Verwijder de compiler-instructie uit uw broncode.
- of -
Markeer de compilerrichtlijn als commentaar.
Notitie
Wanneer u klaar bent om te compileren, kunt u Build kiezen in het menu Build of de opdrachtregelmethode gebruiken, maar zonder de d te typen: om voorwaardelijke compilatiesymbolen te definiëren.
Zie ook
- Toepassingen traceren en instrumenteren
- Procedure: Traceringsswitches maken, initialiseren en configureren
- Schakelopties voor traceren
- Listeners traceren
- Procedure: Traceringsinstructies toevoegen aan toepassingscode
- Omgevingsvariabelen instellen voor de Visual Studio-opdrachtregel
- Procedure: de opdrachtregelcompilator aanroepen
Feedback
https://aka.ms/ContentUserFeedback.
Binnenkort beschikbaar: In de loop van 2024 zullen we GitHub-problemen geleidelijk uitfaseren als het feedbackmechanisme voor inhoud en deze vervangen door een nieuw feedbacksysteem. Zie voor meer informatie:Feedback verzenden en weergeven voor