Comment : effectuer une compilation conditionnelle avec Trace et Debug
Lorsque vous déboguez une application lors du développement, les informations de sortie de débogage et de traçage sont écrites dans la fenêtre Sortie dans Visual Studio. Cependant, pour inclure les fonctionnalités de traçage dans une application déployée, vous devez compiler vos applications instrumentées avec les directives du compilateur TRACE activées. Cela permet au code de traçage d'être compilé dans la version Release de votre application. Si vous n'activez pas la directive TRACE, tout le code de traçage sera ignoré lors de la compilation et ne sera pas inclus dans le code exécutable que vous déploierez.
Les méthodes de traçage et de débogage possèdent des attributs conditionnels associés. Par exemple, si l'attribut conditionnel pour le traçage a la valeur true, toutes les instructions de traçage sont incluses dans un assembly (fichier .exe ou .dll compilé) ; si l'attribut conditionnel Trace a la valeur false, les instructions de traçage ne sont pas incluses.
Pour une génération, vous pouvez activer l'un des attributs conditionnels Trace ou Debug, les deux ou aucun d'entre eux. Par conséquent, il existe quatre types de génération : avec Debug, avec Trace, avec les deux ou avec aucun des deux. Certaines versions Release pour un déploiement de production peuvent ne contenir ni l'un ni l'autre ; la plupart des générations contiennent les deux.
Plusieurs possibilités s'offrent à vous pour spécifier les paramètres du compilateur pour votre application :
Les pages de propriétés
La ligne de commande
#CONST (pour Visual Basic) et #define (pour C#)
Pour modifier des paramètres de compilation à partir de la boîte de dialogue Pages de propriétés
Cliquez avec le bouton droit sur le nœud du projet dans l'Explorateur de solutions.
Choisissez Propriétés dans le menu contextuel.
Dans Visual Basic, cliquez sur l'onglet Compiler dans le volet gauche de la page de propriétés, puis cliquez sur le bouton Options avancées de compilation pour afficher la boîte de dialogue Paramètres avancés du compilateur. Activez les cases à cocher correspondant aux paramètres du compilateur que vous souhaitez sélectionner. Désactivez les cases à cocher correspondant aux paramètres que vous ne souhaitez pas sélectionner.
En C#, cliquez sur l'onglet Générer dans le volet gauche de la page de propriétés, puis activez les cases à cocher correspondant aux paramètres du compilateur que vous souhaitez sélectionner. Désactivez les cases à cocher correspondant aux paramètres que vous ne souhaitez pas sélectionner.
Pour compiler du code instrumenté en utilisant la ligne de commande
Définissez un commutateur de compilation conditionnelle à la ligne de commande. Le compilateur insère le code de traçage ou de débogage dans le fichier exécutable.
Par exemple, les instructions de compilation suivantes entrées à la ligne de commande incluront votre code de traçage dans un fichier exécutable compilé :
Pour Visual Basic : vbc /r:System.dll /d:TRACE=TRUE /d:DEBUG=FALSE MonApplication.vb
Pour C# : csc /r:System.dll /d:TRACE /d:DEBUG=FALSE MyApplication.cs
Conseil Pour compiler plus d'un fichier d'application, insérez un espace entre les noms des fichiers. Par exemple : MonApplication1.vb MonApplication2.vb MonApplication3.vb ou MonApplication1.cs MonApplication2.cs MonApplication3.cs.
Les directives du compilateur conditionnelle utilisées dans les exemples ci-dessus ont la signification suivante :
Directive
Signification
vbc
Compilateur Visual Basic
csc
Compilateur C#
/r:
Référence un assembly externe (EXE ou DLL)
/d:
Définit un symbole de compilation conditionnelle
Remarque Vous devez écrire TRACE ou DEBUG en majuscules.Pour plus d'informations sur les commandes de compilation conditionnelle, entrez vbc /? (pour Visual Basic) ou csc /? (pour C#) à l'invite de commande.Pour plus d'informations, consultez Génération à partir de la ligne de commande (C#) ou Appel du compilateur de ligne de commande (Visual Basic).
Pour effectuer une compilation conditionnelle en utilisant #CONST ou #define
Tapez l'instruction appropriée pour votre langage de programmation en haut du fichier de code source.
Language
Instruction
Résultat
Visual Basic
#CONST TRACE = true
Active le traçage
#CONST TRACE = false
Désactive le traçage
#CONST DEBUG = true
Active le débogage
#CONST DEBUG = false
Désactive le débogage
C#
#define TRACE
Active le traçage
#undef TRACE
Désactive le traçage
#define DEBUG
Active le débogage
#undef DEBUG
Désactive le débogage
Pour désactiver le traçage ou le débogage
Supprimez la directive du compilateur de votre code source.
- ou -
Commentez la directive du compilateur.
Remarque Lorsque vous êtes prêt à compiler, vous pouvez choisir Générer à partir du menu Générer, ou encore utiliser la méthode de ligne de commande sans taper d: pour définir les symboles de compilation conditionnelle.
Voir aussi
Tâches
Comment : configurer les commutateurs de trace
Comment : ajouter des instructions de traçage dans le code d'une application
Comment : définir des variables d'environnement
Comment : appeler le compilateur de ligne de commande (Visual Basic)
Concepts
Introduction à l'instrumentation et au traçage