Dela via


Gör så här: Kompilera villkorligt med spårning och felsökning

Kommentar

Den här artikeln är specifik för .NET Framework. Det gäller inte för nyare implementeringar av .NET, inklusive .NET 6 och senare versioner.

När du felsöker ett program under utvecklingen går både spårnings- och felsökningsutdata till utdatafönstret i Visual Studio. Men om du vill inkludera spårningsfunktioner i ett distribuerat program måste du kompilera dina instrumenterade program med trace-kompilatordirektivet aktiverat. På så sätt kan spårningskod kompileras till versionsversionen av ditt program. Om du inte aktiverar TRACE-direktivet ignoreras all spårningskod under kompileringen och ingår inte i den körbara kod som du ska distribuera.

Både spårnings- och felsökningsmetoderna har associerade villkorsattribut. Om det villkorsstyrda attributet för spårning till exempel är sant inkluderas alla spårningssatser i en sammansättning (en kompilerad .exe fil eller .dll); om det villkorliga attributet Trace är falskt inkluderas inte spårningsuttrycken.

Du kan ha antingen villkorsattributet Trace eller Debug aktiverat för en version, eller både och eller ingetdera. Det finns alltså fyra typer av bygge: Felsökning, Spårning, båda eller ingen av dem. Vissa versionsversioner för produktionsdistribution kan inte innehålla någotdera. de flesta felsökningsversioner innehåller båda.

Du kan ange kompileringsinställningarna för ditt program på flera sätt:

  • Egenskapssidorna

  • Kommandoraden

  • #CONST (för Visual Basic) och #define (för C#)

Så här ändrar du kompileringsinställningarna från dialogrutan egenskapssidor

  1. Högerklicka på projektnoden i Istraživač rešenja.

  2. Välj Egenskaper på snabbmenyn.

    • I Visual Basic klickar du på fliken Kompilering i den vänstra rutan på egenskapssidan och klickar sedan på knappen Avancerade kompileringsalternativ för att visa dialogrutan Avancerade kompilatorinställningar . Markera kryssrutorna för de kompilatorinställningar som du vill aktivera. Avmarkera kryssrutorna för inställningar som du vill inaktivera.

    • I C# klickar du på fliken Skapa i den vänstra rutan på egenskapssidan och markerar sedan kryssrutorna för de kompilatorinställningar som du vill aktivera. Avmarkera kryssrutorna för inställningar som du vill inaktivera.

Kompilera instrumenterad kod med hjälp av kommandoraden

  1. Ange en villkorsstyrd kompilatorväxel på kommandoraden. Kompilatorn innehåller spårnings- eller felsökningskod i den körbara filen.

    Följande kompilatorinstruktion som anges på kommandoraden skulle till exempel inkludera spårningskoden i en kompilerad körbar fil:

    För Visual Basic: vbc -r:System.dll -d:TRACE=TRUE -d:DEBUG=FALSE MyApplication.vb

    För C#: csc -r:System.dll -d:TRACE -d:DEBUG=FALSE MyApplication.cs

    Dricks

    Om du vill kompilera mer än en programfil lämnar du ett tomt utrymme mellan filnamnen, till exempel MyApplication1.vb MyApplication2.vb MyApplication3.vb eller MyApplication1.cs MyApplication2.cs MyApplication3.cs.

    Innebörden av de direktiv för villkorsstyrd kompilering som används i exemplen ovan är följande:

    Direktiv Innebörd
    vbc Visual Basic-kompilator
    csc C#-kompilator
    -r: Refererar till en extern sammansättning (EXE eller DLL)
    -d: Definierar en villkorsstyrd kompileringssymbol

    Kommentar

    Du måste stava TRACE eller DEBUG med versaler. Mer information om kommandona för villkorlig kompilering finns i vbc /? (för Visual Basic) eller csc /? (för C#) i kommandotolken. Mer information finns i Skapa från kommandoraden (C#) eller Anropa kommandoradskompilatorn (Visual Basic).

Så här utför du villkorlig kompilering med hjälp av #CONST eller #define

  1. Ange lämplig instruktion för programmeringsspråket högst upp i källkodsfilen.

    Språk Utdrag Result
    Visual Basic #CONST TRACE = true Aktiverar spårning
    #CONST TRACE = false Inaktiverar spårning
    #CONST DEBUG = true Aktiverar felsökning
    #CONST DEBUG = false Inaktiverar felsökning
    C# #define TRACE Aktiverar spårning
    #undef TRACE Inaktiverar spårning
    #define FELSÖKNING Aktiverar felsökning
    #undef FELSÖKNING Inaktiverar felsökning

Inaktivera spårning eller felsökning

Ta bort kompilatordirektivet från källkoden.

- eller -

Kommentera ut kompilatordirektivet.

Kommentar

När du är redo att kompilera kan du antingen välja Skapa från menyn Skapa eller använda kommandoradsmetoden men utan att skriva d: för att definiera villkorsstyrda kompileringssymboler.

Se även