Quelle est la différence entre les modes Release et Debug dans Visual Studio? [dupliquer]

possibilité de dupliquer:

Debug vs. release in .NET

Debug / Release difference

Quelle est la différence entre les modes Release et Debug dans Visual Studio pendant la construction d'un projet?

91
demandé sur Cute 2009-06-01 10:30:30

3 réponses

eh Bien, cela dépend de la langue que vous utilisez, mais en général, ils sont 2 configurations distinctes, chacune avec ses propres paramètres. Par défaut, le débogage inclut les informations de débogage dans les fichiers compilés (permettant un débogage facile) alors que la version a généralement des optimisations activées.

en ce qui concerne la compilation conditionnelle, ils définissent chacun des symboles différents qui peuvent être vérifiés dans votre programme, mais ce sont des macros spécifiques à la langue.

71
répondu Tal Pressman 2009-06-01 06:36:01

Debug et Release ne sont que des étiquettes pour différentes solution configurations . Vous pouvez en ajouter d'autres si vous voulez. Un projet sur lequel j'ai travaillé avait un appelé "Debug Internal" qui a été utilisé pour activer les fonctionnalités d'édition interne de l'application. Vous pouvez le voir si vous allez à Configuration Manager... (c'est dans le menu Build ). Vous pouvez trouver plus d'informations sur la bibliothèque MSDN sous Gestionnaire de Configuration Boîte De Dialogue .

chaque solution configuration se compose alors d'un groupe de project configurations . De nouveau, ce ne sont que des étiquettes, cette fois pour une collection de paramètres de votre projet. Par exemple, nos projets de bibliothèque C++ ont des configurations de projet appelées "Debug", "Debug_Unicode", "Debug_MT", etc.

les paramètres disponibles dépendent du type de projet que vous construisez. Pour un .NET projet, c'est un ensemble assez restreint: #define s et quelques autres choses. Pour un projet C++, vous obtenez une grande variété de choses à peaufiner.

en général, cependant, vous utiliserez" Debug " quand vous voulez que votre projet soit construit avec l'optimiser désactivé, et quand vous voulez des informations complètes de débogage/symbole inclus dans votre construction (dans le .Le fichier PDB, habituellement). Vous utiliserez "Release" quand vous voulez que l'optimiseur soit activé, et quand vous ne voulez pas complète les informations de débogage inclus.

97
répondu Roger Lipscombe 2009-06-02 09:33:10

la différence principale est que lorsqu'il est compilé en mode de débogage, des fichiers pdb sont également créés qui permettent le débogage (de sorte que vous pouvez passer à travers le code quand il est lancé). Toutefois, cela signifie que le code n'est pas optimisé.

18
répondu Tetraneutron 2009-06-01 06:35:18