115 votes

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

Duplicata possible :
Déboguer VS Release en .net
Différence entre Debug et Release

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

113voto

Roger Lipscombe Points 34344

Déboguer y Communiqué de presse sont juste des étiquettes pour différents configurations de solutions . Vous pouvez en ajouter d'autres si vous le souhaitez. Un projet sur lequel j'ai travaillé une fois en avait un appelé "Debug Internal" qui était utilisé pour activer les fonctions d'édition internes de l'application. Vous pouvez le voir si vous allez dans Configuration Manager... (c'est sur le Build ). Vous pouvez trouver plus d'informations sur MSDN Library sous Boîte de dialogue du gestionnaire de configuration .

Chaque configuration de la solution consiste alors en un ensemble de configuration des projets . Encore une fois, ce ne sont que des étiquettes, cette fois pour une collection de paramètres pour 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 projet .NET, il s'agit d'un ensemble assez restreint : #define et quelques autres choses. Pour un projet C++, vous disposez d'une variété beaucoup plus grande de choses à modifier.

En général, cependant, vous utiliserez "Debug" quand vous voulez que votre projet soit construit avec l'optimiseur désactivé, et quand vous voulez que toutes les informations de débogage/symboles soient incluses dans votre construction (dans le fichier .PDB, habituellement). Vous utiliserez "Release" quand vous voulez que l'optimiseur soit activé, et quand vous Ne le fais pas. veulent que des informations complètes sur le débogage soient incluses.

83voto

Tal Pressman Points 4120

Eh bien, cela dépend du langage que vous utilisez, mais en général, il s'agit de deux configurations distinctes, chacune ayant ses propres paramètres. Par défaut, Debug inclut des informations de débogage dans les fichiers compilés (permettant un débogage facile) tandis que Release a généralement des optimisations activées.

En ce qui concerne la compilation conditionnelle, elles définissent chacune différents symboles qui peuvent être vérifiés dans votre programme, mais ce sont des macros spécifiques au langage.

20voto

Tetraneutron Points 8494

La principale différence est que lorsque le code est compilé en mode débogage, des fichiers pdb sont également créés, ce qui permet le débogage (vous pouvez donc parcourir le code pendant son exécution). Cela signifie toutefois que le code n'est pas autant optimisé.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X