Comment : effectuer une compilation conditionnelle avec Trace et DebugHow to: Compile Conditionally with Trace and Debug

Quand vous déboguez une application pendant le développement, les sorties de débogage et de traçage sont dirigées vers la fenêtre de sortie dans Visual Studio.While you are debugging an application during development, both your tracing and debugging output go to the Output window in Visual Studio. Toutefois, pour inclure les fonctionnalités de suivi dans une application déployée, vous devez compiler vos applications instrumentées en activant la directive de compilateur TRACE.However, to include tracing features in a deployed application, you must compile your instrumented applications with the TRACE compiler directive enabled. De cette façon, le code de traçage peut être compilé dans la version commerciale de votre application.This allows tracing code to be compiled into the release version of your application. Si vous n’activez pas la directive TRACE, tout le code de suivi est ignoré pendant la compilation et n’est pas inclus dans le code exécutable que vous déployez.If you do not enable the TRACE directive, all tracing code is ignored during compilation and is not included in the executable code that you will deploy.

Les méthodes de traçage et de débogage sont associées à des attributs conditionnels.Both the tracing and debugging methods have associated conditional attributes. Par exemple, si l’attribut conditionnel pour le suivi a la valeur true, toutes les instructions de suivi sont incluses dans un assembly (fichier .exe ou .dll compilé) ; si l’attribut conditionnel Trace a la valeur false, les instructions de suivi ne sont pas incluses.For example, if the conditional attribute for tracing is true, all trace statements are included within an assembly (a compiled .exe file or .dll); if the Trace conditional attribute is false, the trace statements are not included.

Vous pouvez activer l’attribut conditionnel Trace ou Debug, les deux ou aucun pour une build.You can have either the Trace or Debug conditional attribute turned on for a build, or both, or neither. Par conséquent, il existe quatre types de build : Debug, Trace, les deux ou aucun.Thus, there are four types of build: Debug, Trace, both, or neither. Certaines versions release pour un déploiement de production peuvent n'en contenir aucun, mais la plupart des builds contiennent les deux.Some release builds for production deployment might contain neither; most debugging builds contain both.

Vous pouvez spécifier les paramètres du compilateur pour votre application de plusieurs façons :You can specify the compiler settings for your application in several ways:

  • Pages de propriétésThe property pages

  • Ligne de commandeThe command line

  • #CONST (pour Visual Basic) et #define (pour C#)#CONST (for Visual Basic) and #define (for C#)

Pour modifier les paramètres de compilation dans la boîte de dialogue des pages de propriétésTo change compile settings from the property pages dialog box

  1. Cliquez avec le bouton droit sur le nœud du projet dans l’Explorateur de solutions.Right-click the project node in Solution Explorer.

  2. Choisissez Propriétés dans le menu contextuel.Choose Properties from the shortcut menu.

    • En Visual Basic, cliquez sur l’onglet Compiler dans le volet gauche de la page de propriétés, puis sur le bouton Options avancées de compilation pour afficher la boîte de dialogue Paramètres avancés du compilateur.In Visual Basic, click the Compile tab in the left pane of the property page, then click the Advanced Compile Options button to display the Advanced Compiler Settings dialog box. Cochez les cases des paramètres du compilateur que vous voulez activer.Select the check boxes for the compiler settings you want to enable. Décochez les cases des paramètres que vous voulez désactiver.Clear the check boxes for settings you want to disable.

    • En C#, cliquez sur l’onglet Générer dans le volet gauche de la page de propriétés, puis cochez les cases des paramètres du compilateur que vous voulez activer.In C#, click the Build tab in the left pane of the property page, then select the check boxes for the compiler settings you want to enable. Décochez les cases des paramètres que vous voulez désactiver.Clear the check boxes for settings you want to disable.

Pour compiler du code instrumenté à l'aide de la ligne de commandeTo compile instrumented code using the command line

  1. Définissez un commutateur de compilateur conditionnel sur la ligne de commande.Set a conditional compiler switch on the command line. Le compilateur devra contenir du code de traçage ou de débogage dans l'exécutable.The compiler will include trace or debug code in the executable.

    Par exemple, l'instruction de compilateur suivante entrée sur la ligne de commande inclut le code de traçage dans un fichier exécutable compilé :For example, the following compiler instruction entered on the command line would include your tracing code in a compiled executable:

    Pour Visual Basic : vbc-r :System.dll-d :trace = true-d :debug = False MyApplication. vbFor Visual Basic: vbc -r:System.dll -d:TRACE=TRUE -d:DEBUG=FALSE MyApplication.vb

    Pour C#: csc-r :System.dll-d :trace-d :debug = False MyApplication.csFor C#: csc -r:System.dll -d:TRACE -d:DEBUG=FALSE MyApplication.cs

    Conseil

    Pour compiler plusieurs fichiers d’application, insérez un espace entre les noms de fichiers, par exemple MyApplication1.vb MyApplication2.vb MyApplication3.vb ou MyApplication1.cs MyApplication2.cs MyApplication3.cs.To compile more than one application file, leave a blank space between the file names, for example, MyApplication1.vb MyApplication2.vb MyApplication3.vb or MyApplication1.cs MyApplication2.cs MyApplication3.cs.

    La signification des directives de compilation conditionnelle utilisées dans les exemples ci-dessus est la suivante :The meaning of the conditional-compilation directives used in the above examples is as follows:

    DirectiveDirective SignificationMeaning
    vbc compilateur Visual BasicVisual Basic compiler
    csc Compilateur C#C# compiler
    -r: Référence un assembly externe (EXE ou DLL)References an external assembly (EXE or DLL)
    -d: Définit un symbole de compilation conditionnelleDefines a conditional compilation symbol

    Notes

    Vous devez écrire TRACE ou DEBUG en majuscules.You must spell TRACE or DEBUG with uppercase letters. Pour plus d'informations sur les commandes de compilation conditionnelle, entrez vbc /? (pour Visual Basic) ou csc /? (pour C#) à l'invite de commandes.For more information about the conditional compilation commands, enter vbc /? (for Visual Basic) or csc /? (for C#) at the command prompt. 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).For more information, see Building from the Command Line (C#) or Invoking the Command-Line Compiler (Visual Basic).

Pour effectuer une compilation conditionnelle à l'aide de #CONST ou #defineTo perform conditional compilation using #CONST or #define

  1. Tapez l'instruction appropriée pour votre langage de programmation en haut du fichier de code source.Type the appropriate statement for your programming language at the top of the source code file.

    LangageLanguage .Statement RésultatsResult
    Visual BasicVisual Basic #CONST TRACE = true#CONST TRACE = true Active le traçageEnables tracing
    #CONST TRACE = false#CONST TRACE = false Désactive le traçageDisables tracing
    #CONST DEBUG = true#CONST DEBUG = true Active le débogageEnables debugging
    #CONST DEBUG = false#CONST DEBUG = false Désactive le débogageDisables debugging
    C#C# #define TRACE#define TRACE Active le traçageEnables tracing
    #undef TRACE#undef TRACE Désactive le traçageDisables tracing
    #define DEBUG#define DEBUG Active le débogageEnables debugging
    #undef DEBUG#undef DEBUG Désactive le débogageDisables debugging

Pour désactiver le traçage ou le débogageTo disable tracing or debugging

Supprimez la directive de compilateur de votre code source.Delete the compiler directive from your source code.

- ou -- or -

Commentez la directive de compilateur.Comment out the compiler directive.

Notes

Quand vous êtes prêt pour la compilation, vous pouvez choisir Générer dans le menu Générer, ou utiliser la méthode de ligne de commande, mais sans taper d: pour définir les symboles de compilation conditionnelle.When you are ready to compile, you can either choose Build from the Build menu, or use the command line method but without typing the d: to define conditional compilation symbols.

Voir aussiSee also