2009-08-06 10 views
1

Pour un projet C++ que je développe dans Visual Studio 2005, je voudrais désactiver l'option de sortie TRACE lors de l'exécution du code en mode débogage. J'ai cherché sur Internet comment y parvenir, mais pas de chance. Est-ce même facilement réalisable? Si c'est le cas, comment? Merci d'avance.Visual Studio désactiver TRACE en mode débogage

Mise à jour # 1:

#define  USETRACE  0 
#if !USETRACE && DEBUG 
    #undef TRACE 
    #define TRACE(x) 
#endif 

J'ai essayé le code ci-dessus en mode débogage, près du haut de stdafx.h, mais TRACE est encore à fournir en sortie la sortie de débogage. Ce serait bien si des suggestions sur ce qui ne va pas dans ma mise en œuvre sont fournies pour que je puisse y remédier. Merci.

+0

a mis à jour ma réponse en fonction de cette info. – JaredPar

+0

la suggestion mise à jour n'a pas fonctionné tout à fait non plus. – stanigator

+0

S'agit-il d'une application MFC, d'une application ATL ou d'une autre infrastructure? –

Répondre

0

Utilisé comme difficile quelques premiers fois, c'est ce que je finis par faire:

#if USETRACE 
    #define PRINT TRACE 
#else 
    #define PRINT 
#endif 
2

Il se trouve qu'il est beaucoup plus simple façon de le faire, ensemble variable globale afxTraceEnabled false

afxTraceEnabled = false; 

Référence

+0

Oublié la ligne undef. – stanigator

+0

J'ai ajouté la ligne undef dans ma macro dans cette situation. Toutefois, l'instruction TRACE fonctionne toujours comme indésirable (impression dans la fenêtre de sortie de débogage). J'ai mis ces lignes dans l'en-tête précompilé (stdafx.h). Y at-il quelque chose de particulièrement inapproprié en mettant les instructions dans l'en-tête précompilé? Merci. – stanigator

+0

@ tatigator, no. Je mets souvent des macros comme celle-ci en haut de stdafx.h pour enusre qu'elle est appliquée globalement. – JaredPar

Questions connexes