Udostępnij za pośrednictwem


Porady: dodawanie instrukcji śledzenia do kodu aplikacji

Uwaga

Ten artykuł jest specyficzny dla programu .NET Framework. Nie ma zastosowania do nowszych implementacji platformy .NET, w tym .NET 6 i nowszych wersji.

Metody używane najczęściej do śledzenia to metody zapisywania danych wyjściowych do odbiorników: Write, WriteIf, WriteLine, WriteLineIf, WriteLineIf, Assert i Fail. Te metody można podzielić na dwie kategorie: Write, WriteLine i Fail wszystkie emitują dane wyjściowe bezwarunkowo, podczas gdy writeIf, WriteLineIf i Assert testują warunek logiczny oraz zapisują lub nie zapisują na podstawie wartości warunku. WriteIf i WriteLineIf emitują dane wyjściowe, jeśli warunek ma truewartość , a funkcja Assert emituje dane wyjściowe, jeśli warunek to false.

Podczas projektowania strategii śledzenia i debugowania należy zastanowić się, jak mają wyglądać dane wyjściowe. Wiele instrukcji Write wypełnionych niepowiązanymi informacjami spowoduje utworzenie dziennika, który jest trudny do odczytania. Z drugiej strony użycie funkcji WriteLine do umieszczania powiązanych instrukcji w osobnych wierszach może utrudnić odróżnienie informacji, do których informacji należy. Ogólnie rzecz biorąc, użyj wielu instrukcji Write , jeśli chcesz połączyć informacje z wielu źródeł, aby utworzyć pojedynczy komunikat informacyjny, i użyć instrukcji WriteLine , gdy chcesz utworzyć pojedynczy, kompletny komunikat.

Aby napisać pełny wiersz

  1. Wywołanie WriteLine lub WriteLineIf metody.

    Powrót karetki jest dołączany na końcu komunikatu zwracany przez tę metodę, dzięki czemu następny komunikat zwrócony przez polecenie Write, WriteIf, WriteLine lub WriteLineIf rozpocznie się w następującym wierszu:

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

Aby napisać wiersz częściowy

  1. Wywołanie Write lub WriteIf metody.

    Następny komunikat wyzłożone przez instrukcję Write, WriteIf, WriteLine lub WriteLineIf rozpocznie się w tym samym wierszu co komunikat wystawiony przez instrukcję Write lub WriteIf:

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

Aby sprawdzić, czy istnieją pewne warunki przed lub po wykonaniu metody

  1. Wywołaj metodę 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.");
    

    Uwaga

    Możesz użyć funkcji Assert z funkcją śledzenia i debugowania. W tym przykładzie stos wywołań jest zwracany do dowolnego odbiornika w kolekcji Odbiorniki . Aby uzyskać więcej informacji, zobacz Asercji w kodzie zarządzanym i Debug.Assert.

Zobacz też