Question

J'utilise macro ASSERTE pour vérifier les conditions préalables. Selon sa définition, il utilise ASSERT_BASE, qui appelle à son tour _CrtDbgReportW d'imprimer le message. D'où vient la sortie _CrtDbgReportW va?

Je suppose que si l'application est lancée à partir débogueur, il irait à la fenêtre débogueur. Où seraient les messages vont s'il ne relève pas de débogueur?

Était-ce utile?

La solution

La sortie _CrtDbgReportW dépend comment vous le configurer. Par défaut, il l'envoie au OutputDebugString API.

piègent débogueurs la sortie OutputDebugString et de les afficher normalement dans la fenêtre du débogueur comme vous le suggérez.

Il y a aussi des applications qui piège la sortie comme DebugView vous pouvez utiliser pour les applications PC.

Mise à jour: J'ai raté le bit Windows Mobile. Je beleave encore que sa sortie au OutputDebugString mais je ne connais aucune application tierce qui fonctionne. La seule façon que je connaisse pour piéger la sortie OutputDebugString sous Windows Mobile est d'utiliser le Fonctions de débogage DebugActiveProcess / WaitForDebugEvent pour piéger les événements OUTPUT_DEBUG_STRING_EVENT et les écrire quelque part

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top