Gewusst wie: Hinzufügen von Ablaufverfolgungsanweisungen zu Anwendungscode
Die beliebtesten Methoden der Ablaufverfolgung sind diejenigen, die die Ausgabe in Listener schreiben: Write, WriteIf, WriteLine, WriteLineIf, Assert und Fail. Diese Methoden lassen sich in zwei Kategorien einteilen: Write, WriteLine und Fail geben die gesamte Ausgabe ohne Bedingung aus, während WriteIf, WriteLineIf und Assert eine Boolean-Bedingung prüfen und den Schreibvorgang vom Wert der Bedingung abhängig machen. WriteIf und WriteLineIf geben die Ausgabe aus, wenn die Bedingung True ergibt, und Assert, wenn sie False ist.
Beim Entwerfen der Ablaufverfolgungs- und Debugstrategie müssen Sie sich überlegen, wie die Ausgabe angezeigt werden soll. Mehrere Write-Anweisungen mit unverknüpften Informationen erstellen ein Protokoll, das schwer zu lesen ist. Andererseits wird es schwierig zu unterscheiden, welche Informationen zusammengehören, wenn verknüpfte Anweisungen mit WriteLine in separate Zeilen geschrieben werden. Im Allgemeinen verwenden Sie mehrere Write-Anweisungen, wenn Informationen aus mehreren Quellen zu einer einzelnen Informationsmeldung kombiniert werden sollen, und die WriteLine-Anweisung, wenn eine einzige vollständige Meldung zu erstellen ist.
So schreiben Sie eine vollständige Zeile
Rufen Sie die WriteLine-Methode oder WriteLineIf-Methode auf.
Am Ende der von dieser Methode zurückgegebenen Meldung wird ein Wagenrücklaufzeichen angehängt, d. h., die nächste von Write, WriteIf, WriteLine oder WriteLineIf zurückgegebene Meldung beginnt in der folgenden Zeile:
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.");
So schreiben Sie eine Teilzeile
Rufen Sie die Write-Methode oder WriteIf-Methode auf.
Die nächste von Write, WriteIf, WriteLine oder WriteLineIf ausgegebene Meldung beginnt in der gleichen Zeile wie die von den Anweisungen Write oder WriteIf ausgegebenen Meldungen:
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");
So überprüfen Sie vor oder nach der Ausführung einer Methode, ob bestimmte Bedingungen vorliegen
Rufen Sie die Assert-Methode auf.
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.");
Hinweis Sie können Assert sowohl bei der Ablaufverfolgung als auch beim Debuggen verwenden.In diesem Beispiel wird die Aufrufliste an alle Listener in der Listeners-Auflistung ausgegeben.Weitere Informationen finden Sie unter Assertionen in verwaltetem Code und Debug.Assert.
Siehe auch
Aufgaben
Gewusst wie: Konfigurieren von Ablaufverfolgungsschaltern
Referenz
Konzepte
Einführung in Instrumentation und Ablaufverfolgung