_CrtSetReportMode
Spécifie la destination ou les destinations pour un type spécifique de rapport généré par _CrtDbgReport et toutes les macros qui appellent _CrtDbgReport, _CrtDbgReportW, _ASSERT, _ASSERTE, macros, _ASSERT, _ASSERTE, macros, _RPT, _RPTF, _RPTW, _RPTFW, macros, et _RPT, _RPTF, _RPTW, _RPTFW, macros (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 de Rapport ou modes pour reportType.
Valeur de retour
Dans l'achèvement réussi, _CrtSetReportMode renvoie le mode Rapport ou les modes précédents pour le type de rapport spécifié dans reportType. Si une valeur valide est passée comme mode reportType ou non valide est spécifié pour reportMode, _CrtSetReportMode appelle le gestionnaire de paramètre non valide comme décrit dans Validation de paramètre. Si l'exécution est autorisée à se poursuivre, cette fonction définit errno à 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. Les macros _ASSERT, _ASSERTE, _RPT, et _RPTF appellant _CrtDbgReport, _CrtSetReportMode 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 des applications console ne sont pas affichés.
Le tableau suivant répertorie les types de rapports définis dans Crtdbg.h.
Rapport type |
Description |
---|---|
_CRT_WARN |
Avertissements, messages, les informations qui n'ont pas besoin d'attention immédiate. |
_CRT_ERROR |
Erreurs, problèmes irrécupérables, et problèmes qui nécessitent une attention immédiate. |
_CRT_ASSERT |
Échecs d'assertion (expressions affirmées qui correspondent à FALSE). |
La fonction _CrtSetReportMode assigne le nouveau mode Rapport spécifié dans reportMode au type de rapport spécifié dans reportType et renvoie 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 de _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, et les boutons Ignore. |
_CRTDBG_REPORT_MODE |
Renvoie une reportMode pour le reportType spé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 aucun mode. Par conséquent, il est possible d'avoir plusieurs destination définie pour un seul type de rapport. Par exemple, le fragment de code suivant provoque des échecs d'assertion à ê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 les modes pour chaque type de rapport peuvent être séparément contrôlés. Par exemple, il est possible de spécifier que reportType de _CRT_WARN soit envoyé dans une chaîne de sortie de débogage, tandis que _CRT_ASSERT soit affiché dans une fenêtre de message 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 sur la compatibilité, consultez Compatibilité dans l'introduction.
Bibliothèques : Versions Debug de Fonctions des bibliothèque CRT uniquement.
É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é.