_CrtSetReportMode
Spécifie la destination ou des destinations pour un type spécifique d'état généré par _CrtDbgReport et toutes les macros qui appellent _CrtDbgReport, _CrtDbgReportW, tel que _ASSERT ; _ASSERTE de macros, _ASSERT ; _ASSERTE de macros, _RPT, _RPTF, _RPTW, macros de _RPTFW, et _RPT, _RPTF, _RPTW, macros de _RPTFW (version debug uniquement).
int _CrtSetReportMode(
int reportType,
int reportMode
);
Paramètres
reportType
Type de rapport : _CRT_WARN, _CRT_ERROR, et _CRT_ASSERT.reportMode
nouveaux mode Rapport ou modes pour reportType.
Valeur de retour
En cas de réussite, _CrtSetReportMode retourne le mode Rapport ou des modes précédents pour le type d'état spécifié dans reportType.Si une valeur non valide est passée comme reportType ou un mode non valide est spécifié pour reportMode, _CrtSetReportMode appelle le gestionnaire de paramètre non valide comme décrit dans Validation des paramètres.Si est autorisé à l'exécution de se poursuivre, des ensembles errno de cette fonction à EINVAL et retourne -1.Pour plus d'informations, consultez errno, _doserrno, _sys_errlist, et _sys_nerr.
Notes
_CrtSetReportMode spécifie la destination de sortie pour _CrtDbgReport.Étant donné que les macros _ASSERT, _ASSERTE, _RPT, et appel _CrtDbgReport, _CrtSetReportMode d' _RPTF spécifie la destination de sortie de texte spécifiée avec ces macros.
Lorsque _DEBUG n'est pas défini, les appels à _CrtSetReportMode sont supprimés pendant le prétraitement.
Si vous n'appelez pas _CrtSetReportMode pour définir la destination de sortie des messages, les valeurs par défaut suivantes sont activées :
Les échecs assert et les erreurs sont dirigées vers une fenêtre de message de débogage.
Les avertissements d'applications Windows sont envoyés à la fenêtre Sortie du débogueur.
Les avertissements les applications console ne sont pas affichés.
Le tableau suivant répertorie les types de rapports définis dans Crtdbg.h.
Type de rapport |
Description |
---|---|
_CRT_WARN |
Avertissements, messages, informations qui n'ont pas besoin d'attention immédiate. |
_CRT_ERROR |
Erreurs irrécupérables, problèmes, problèmes qui requièrent une attention immédiate. |
_CRT_ASSERT |
Échec de l'assertion (expressions affirmées qui correspondent à FALSE). |
La fonction d' _CrtSetReportMode assigne le nouveau mode Rapport spécifié dans reportMode au type d'état spécifié dans reportType et retourne le mode Rapport précédemment défini pour reportType.Le tableau suivant répertorie les options disponibles pour reportMode et le comportement résultant d' _CrtDbgReport.Ces options sont définies comme bits indicateurs dans Crtdbg.h.
mode Rapport |
comportement de _CrtDbgReport |
---|---|
_CRTDBG_MODE_DEBUG |
écrit le message dans la fenêtre Sortie du débogueur. |
_CRTDBG_MODE_FILE |
Écrit le message à un handle de fichier fournie par l'utilisateur._CrtSetReportFile doit être appelé pour définir un fichier spécifique ou un flux à utiliser comme destination. |
_CRTDBG_MODE_WNDW |
Crée un message pour afficher le message avec Abort, Retry, les boutons et d' Ignore . |
_CRTDBG_REPORT_MODE |
Retourne reportMode pour reportTypespécifié : 1 _CRTDBG_MODE_FILE 2 _CRTDBG_MODE_DEBUG 4 _CRTDBG_MODE_WNDW |
Chaque type de rapport peut être enregistré avec un, deux, ou trois modes ou mode aucune du tout.Par conséquent, il est possible d'avoir plusieurs destination définie pour un type unique d'état.Par exemple, le fragment de code suivant provoque des échecs d'assertion d'être envoyés vers une fenêtre de message de débogage et à stderr:
_CrtSetReportMode( _CRT_ASSERT, _CRTDBG_MODE_FILE | _CRTDBG_MODE_WNDW );
_CrtSetReportFile( _CRT_ASSERT, _CRTDBG_FILE_STDERR );
En outre, le mode de création de rapport ou des modes pour chaque type de rapport peut être séparément contrôlé.Par exemple, il est possible de spécifier qu' reportType d' _CRT_WARN soit envoyé à une chaîne de débogage de sortie, tandis que _CRT_ASSERT soit restitué à l'aide d'une fenêtre de messages de débogage et envoyé à stderr, comme illustré précédemment.
Configuration requise
routine |
en-tête requis |
en-tête facultatif |
---|---|---|
_CrtSetReportMode |
<crtdbg.h> |
<errno.h> |
Pour plus d'informations de compatibilité, consultez Compatibilité dans l'introduction.
bibliothèques : Versions debug de Fonctionnalités de bibliothèque CRT uniquement.
Exemple
Consultez report.
Équivalent .NET Framework
Non applicable. Pour appeler la fonction C standard, utilisez PInvoke. Pour plus d'informations, consultez Exemples d'appel de code non managé.