Procédure : Ajouter des instructions de trace dans le code d’une application
Remarque
Cet article est spécifique au .NET Framework. Ceci ne s’applique pas aux implémentations plus récentes de .NET, y compris .NET 6 et versions ultérieures.
Les méthodes utilisées le plus souvent pour le suivi sont les méthodes permettant d’écrire la sortie dans des écouteurs : Write, WriteIf, WriteLine, WriteLineIf, Assert et Fail. Ces méthodes peuvent être réparties en deux catégories : Write, WriteLine et Fail émettent toutes la sortie de manière inconditionnelle, tandis que WriteIf, WriteLineIf et Assert testent une condition booléenne, et écrivent ou n’écrivent pas en fonction de la valeur de la condition. WriteIf et WriteLineIf émettent une sortie si la condition est true
et Assert émet une sortie si la condition est false
.
Quand vous concevez votre stratégie de débogage et de traçage, vous devez tenir compte de l'apparence souhaitée de la sortie. Si plusieurs instructions Write sont remplies avec des informations sans rapport, le journal créé est difficile à lire. D’un autre côté, si vous utilisez WriteLine pour placer des instructions connexes sur des lignes distinctes, il peut être difficile de déterminer les informations associées. En règle générale, utilisez plusieurs instructions Write si vous voulez combiner des informations provenant de plusieurs sources pour créer un message informatif unique et utilisez l’instruction WriteLine quand vous voulez créer un message unique et complet.
Pour écrire une ligne complète
Appelez la méthode WriteLine ou WriteLineIf.
Un retour chariot est ajouté à la fin du message que cette méthode retourne, afin que le prochain message retourné par Write, WriteIf, WriteLine ou WriteLineIf commence à la ligne suivante :
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.");
Pour écrire une ligne partielle
Appelez la méthode Write ou WriteIf.
Le prochain message émis par une instruction Write, WriteIf, WriteLine ou WriteLineIf commence sur la même ligne que le message émis par l’instruction Write ou 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");
Pour vérifier que certaines conditions sont réunies avant ou après l'exécution d'une méthode
Appelez la méthode 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.");
Notes
Vous pouvez utiliser Assert à la fois avec le suivi et le débogage. Cet exemple génère la pile des appels dans n’importe quel écouteur de la collection Listeners. Pour plus d’informations, consultez Assertions dans du code managé et Debug.Assert.