Partager via


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

Voir aussi

Référence

Déboguez des routines