Partager via


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

  1. Cliquez avec le bouton droit sur le nœud du projet dans l'Explorateur de solutions.

  2. 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

    ConseilConseil

    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

    RemarqueRemarque

    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

  1. Supprimez la directive du compilateur de votre code source.

    - ou -

  2. Commentez la directive du compilateur.

    RemarqueRemarque

    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

Commutateurs de traçage

Écouteurs de la trace

Autres ressources

Traçage et instrumentation d'applications