Comment activer la macro TRACE en mode Release?
La TRACE macro peut être utilisé pour la sortie des messages de diagnostic pour le débogueur lorsque le code est compilé en Debug mode. J'ai besoin de la même messages tout en Libération mode. Est-il un moyen pour y parvenir?
(S'il vous plaît ne pas perdre votre temps à discuter de pourquoi je ne devrais pas être à l'aide de la TRACE en mode Release 🙂
source d'informationauteur Ashwin Nanjappa
Vous devez vous connecter pour publier un commentaire.
En fait, la TRACE de la macro est beaucoup plus flexible que OutputDebugString. Il faut un "printf ()" style de format de chaîne de caractères et de la liste des paramètres alors que OutputDebugString prend juste une seule chaîne. Afin de mettre en œuvre la TRACE complète de la fonctionnalité en mode release, vous avez besoin de faire quelque chose comme ceci:
Quelques années en arrière j'ai besoin de fonctionnalités similaires, donc j'ai bricolé le code suivant. Il suffit de la sauvegarder dans un fichier, par exemple rtrace.h, de l'inclure à la fin de votre stdafx.h, et ajouter _RTRACE à la version du mode de Préprocesseur.
Peut-être que quelqu'un va trouver une utilisation pour elle 🙂
Jean
TRACE est juste une macro pour OutputDebugString. Donc, vous pouvez facilement faire votre propre TRACE macro (ou appeler quelque chose d'autre) qui va appeler OutputDebugString.
C'est plus simplement le code que j'ai dû voir
voir
http://alax.info/blog/1351
Dans MFC, TRACE est défini comme ATLTRACE. Et en mode release, qui est défini comme:
Donc, en utilisant le hors-la-boîte de TRACE de MFC, vous n'allez pas être en mesure de lire toute TRACE de texte, car il n'est pas encore écrite. Vous pouvez écrire votre propre fonction TRACE () au lieu de cela, puis re-définir la TRACE de la macro. Vous pourriez faire quelque chose comme ceci: