Megosztás:


Útmutató: Nyomkövetési utasítások hozzáadása az alkalmazáskódhoz

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.

A nyomkövetéshez leggyakrabban használt metódusok a figyelőknek írt kimenetek: Írás, WriteIf, WriteLine, WriteLineIf, Assert és Fail. Ezek a metódusok két kategóriába sorolhatók: Írás, WriteLine és Fail all output feltétel nélkül, míg a WriteIf, a WriteLineIf és az Assert logikai feltételt tesztel, és a feltétel értéke alapján ír vagy nem ír. A WriteIf és a WriteLineIf kimenetet bocsát ki, ha a feltétel az true, és az Assert kimenetet bocsát ki, ha a feltétel .false

A nyomkövetési és hibakeresési stratégia tervezésekor gondolja át, hogyan szeretné, hogy a kimenet kinézzen. A nem kapcsolódó információkkal kitöltött több írási utasítás olyan naplót hoz létre, amely nehezen olvasható. Másrészt, ha a WriteLine használatával egymástól eltérő sorokra helyezi a kapcsolódó utasításokat, megnehezítheti az információk egymáshoz való összetartoztatásának megkülönböztetése. Általában több írási utasítást használjon, ha több forrásból származó információkat szeretne egyesíteni egyetlen informatív üzenet létrehozásához, és a WriteLine utasítást használja egyetlen teljes üzenet létrehozásakor.

Teljes sor írása

  1. Hívja meg a metódustWriteLine.WriteLineIf

    A rendszer hozzáfűz egy kocsivisszatért a metódus által visszaadott üzenet végéhez, így a Write, a WriteIf, a WriteLineIf vagy a WriteLineIf által visszaadott következő üzenet a következő sorban kezdődik:

    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.");
    

Részleges sor írása

  1. Hívja meg a metódustWrite.WriteIf

    Az Írás, a WriteIf, a WriteLine vagy a WriteLineIf által kiírt következő üzenet ugyanazon a sorban kezdődik, mint a Write vagy WriteIf utasítás által kiírt üzenet:

    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");
    

Annak ellenőrzése, hogy bizonyos feltételek léteznek-e egy metódus végrehajtása előtt vagy után

  1. Hívja meg a metódust Assert .

    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.");
    

    Feljegyzés

    Az Assertt nyomkövetéssel és hibakereséssel is használhatja. Ez a példa a hívásvermet a Figyelők gyűjtemény bármely figyelőjének adja ki. További információ: Helyességi beállítások a felügyelt kódban és Debug.Asserta .

Lásd még