_CrtSetReportMode

 

Pour obtenir la dernière documentation sur Visual Studio 2017 RC, consultez Documentation Visual Studio 2017 RC.

Spécifie l’ou les destinations d’un type spécifique généré par _CrtDbgReport et toutes les macros qui appellent _CrtDbgReport, _CrtDbgReportW, tel que _ASSERT, _ASSERTE, _ASSERT_EXPR Macros, _ASSERT, _ASSERTE, _ASSERT_EXPR Macros, _RPT, _RPTF, _RPTW, _RPTFW (Macros), et _RPT, _RPTF, _RPTW, _RPTFW (Macros) (version de débogage uniquement).

int _CrtSetReportMode(   
   int reportType,  
   int reportMode   
);  

Paramètres

reportType
Type de rapport : _CRT_WARN, _CRT_ERROR et _CRT_ASSERT.

reportMode
Nouveau mode de rapport ou des modes de reportType.

Opération réussie, _CrtSetReportMode renvoie l’ou les modes rapport précédente pour le type de rapport spécifié dans reportType. Si une valeur non valide est transmise en tant que 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 de paramètre. Si l'exécution est autorisée à se poursuivre, cette fonction affecte à errno la valeur EINVAL et retourne -1. Pour plus d’informations, consultez errno, _doserrno, _sys_errlist et _sys_nerr.

_CrtSetReportModeSpécifie la destination de sortie _CrtDbgReport. Étant donné que les macros _ASSERT, _ASSERTE, _RPT, et _RPTF appeler _CrtDbgReport, _CrtSetReportMode spécifie la destination de sortie du texte spécifié avec les macros.

Lors de la _DEBUG n’est pas défini, les appels à _CrtSetReportMode sont supprimés lors du prétraitement.

Si vous n’appelez pas _CrtSetReportMode pour définir la destination de sortie des messages, puis les valeurs par défaut suivantes sont appliquées :

  • Erreurs et échecs d’assertion sont dirigées vers une fenêtre de message de débogage.

  • Avertissements à partir d’applications Windows sont envoyés à la fenêtre de sortie du débogueur.

  • Avertissements à partir d’applications de console ne sont pas affichés.

Le tableau suivant répertorie les types de rapport définis dans Crtdbg.h.

Type de rapportDescription
_CRT_WARNAvertissements, des messages et des informations qui ne doivent pas une attention immédiate.
_CRT_ERRORErreurs, les problèmes récupérables et problèmes qui requièrent une attention immédiate.
_CRT_ASSERTÉchecs d’assertion (assertion des expressions qui correspondent à FALSE).

Le _CrtSetReportMode fonction attribue le nouveau mode de rapport spécifié dans reportMode pour le type de rapport spécifié dans reportType et retourne le mode de rapport précédemment définie pour reportType. Le tableau suivant répertorie les options disponibles pour reportMode et le comportement résultant de _CrtDbgReport. Ces options sont définies en tant qu’indicateurs binaires dans Crtdbg.h.

Mode de rapport_CrtDbgReport comportement
_CRTDBG_MODE_DEBUGÉcrit le message dans la fenêtre de sortie du débogueur.
_CRTDBG_MODE_FILEÉcrit le message à un handle de fichier fourni par l’utilisateur. _CrtSetReportFile doit être appelée pour définir le fichier spécifique ou un flux à utiliser comme destination.
_CRTDBG_MODE_WNDWCrée une boîte de message pour afficher le message avec le Abort, Retry, et Ignore boutons.
_CRTDBG_REPORT_MODERetourne reportMode spécifié reportType:

1 _CRTDBG_MODE_FILE

2 _CRTDBG_MODE_DEBUG

4 _CRTDBG_MODE_WNDW

Chaque type de rapport peut être signalée à l’aide d’un, deux ou trois modes ou aucun mode tout. Par conséquent, il est possible d’avoir plusieurs destinations définies pour un type de rapport unique. Par exemple, le fragment de code suivant provoque des échecs d’assertion à envoyer à la fois une fenêtre de message de débogage et de stderr:

_CrtSetReportMode( _CRT_ASSERT, _CRTDBG_MODE_FILE | _CRTDBG_MODE_WNDW );  
_CrtSetReportFile( _CRT_ASSERT, _CRTDBG_FILE_STDERR );  

En outre, le rapport ou les modes de chaque type de rapport peuvent contrôler séparément. Par exemple, il est possible de spécifier qu’un reportType de _CRT_WARN être envoyé à une chaîne de débogage de sortie, tandis que _CRT_ASSERT être affichés à l’aide d’une fenêtre de message de débogage et envoyée à stderr, comme illustré.

RoutineEn-tête requisEn-tête facultatif
_CrtSetReportMode<crtdbg.h><errno.h>

Pour plus d’informations sur la compatibilité, consultez Compatibility dans l’introduction.

Bibliothèques : les versions Debug de fonctionnalités de la bibliothèque CRT uniquement.

Non applicable. Pour appeler la fonction C standard, utilisez PInvoke. Pour plus d'informations, consultez Exemples d'appel de plateforme.

Routines de débogage

Afficher: