Dela via


Gör så här: Lägga till spårningsuttryck i programkoden

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.

De metoder som används oftast för spårning är metoder för att skriva utdata till lyssnare: Write, WriteIf, WriteLine, WriteLineIf, Assert och Fail. Dessa metoder kan delas in i två kategorier: Skriv, WriteLine och Fail genererar alla utdata villkorslöst, medan WriteIf, WriteLineIf och Assert testar ett booleskt villkor och skriver eller inte skriver baserat på villkorets värde. WriteIf och WriteLineIf genererar utdata om villkoret är trueoch Assert genererar utdata om villkoret är false.

När du utformar en spårnings- och felsökningsstrategi bör du fundera på hur du vill att datautmatningen ska se ut. Flera skrivinstruktioner fyllda med orelaterad information skapar en logg som är svår att läsa. Att använda WriteLine för att placera relaterade instruktioner på separata rader kan däremot göra det svårt att skilja på vilken information som hör ihop. I allmänhet använder du flera skrivinstruktioner när du vill kombinera information från flera källor för att skapa ett enda informativt meddelande och använda WriteLine-instruktionen när du vill skapa ett enda komplett meddelande.

Så här skriver du en fullständig rad

  1. WriteLine Anropa metoden ellerWriteLineIf.

    En vagnretur läggs till i slutet av meddelandet som den här metoden returnerar, så att nästa meddelande som returneras av Write, WriteIf, WriteLine eller WriteLineIf börjar på följande rad:

    Dim errorFlag As Boolean = False
    Trace.WriteLine("Error in AppendData procedure.")
    Trace.WriteLineIf(errorFlag, "Error in AppendData procedure.")
    
    bool errorFlag = false;
    System.Diagnostics.Trace.WriteLine ("Error in AppendData procedure.");
    System.Diagnostics.Trace.WriteLineIf(errorFlag,
       "Error in AppendData procedure.");
    

Så här skriver du en partiell rad

  1. Write Anropa metoden ellerWriteIf.

    Nästa meddelande som skickas av en Write, WriteIf, WriteLine eller WriteLineIf börjar på samma rad som meddelandet som skickas av Write- eller WriteIf-instruktionen:

    Dim errorFlag As Boolean = False
    Trace.WriteIf(errorFlag, "Error in AppendData procedure.")
    Debug.WriteIf(errorFlag, "Transaction abandoned.")
    Trace.Write("Invalid value for data request")
    
    bool errorFlag = false;
    System.Diagnostics.Trace.WriteIf(errorFlag,
       "Error in AppendData procedure.");
    System.Diagnostics.Debug.WriteIf(errorFlag, "Transaction abandoned.");
    Trace.Write("Invalid value for data request");
    

Kontrollera att vissa villkor finns före eller efter att du har kört en metod

  1. Assert Anropa metoden.

    Dim i As Integer = 4
    Trace.Assert(i = 5, "i is not equal to 5.")
    
    int i = 4;
    System.Diagnostics.Trace.Assert(i == 5, "i is not equal to 5.");
    

    Kommentar

    Du kan använda Assert med både spårning och felsökning. Det här exemplet matar ut anropsstacken till alla lyssnare i samlingen Lyssnare. Mer information finns i Intyg i Hanterad kod och Debug.Assert.

Se även