Partager via


_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é.

Voir aussi

Référence

Routines de débogage