Delen via


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

  1. Klik met de rechtermuisknop op het projectknooppunt in Solution Explorer.

  2. 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

  1. 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) of csc /? (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

  1. 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