Note
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier les répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de changer de répertoire.
Spécifie la destination ou les destinations d’un type de rapport spécifique généré par _CrtDbgReport et toutes les macros qui appellent_CrtDbgReport , _CrtDbgReportWtelles que _ASSERT, _ASSERTE, _ASSERT_EXPR macros et _RPT, _RPTF, _RPTW_RPTFW macros (version de débogage uniquement).
Syntaxe
int _CrtSetReportMode(
int reportType,
int reportMode
);
Paramètres
reportType
Type de rapport : _CRT_WARN, _CRT_ERROR et _CRT_ASSERT.
reportMode
Nouveau(x) mode(s) de rapport pour reportType.
Valeur retournée
Quand l’opération réussit, _CrtSetReportMode retourne le(s) mode(s) de rapport précédent(s) pour le type de rapport spécifié dans reportType. Si une valeur non valide est passée en tant que reportType ou en mode non valide est spécifiée pour reportMode, _CrtSetReportMode appelle le gestionnaire de paramètres non valide, comme décrit dans la validation des paramètres. Si l'exécution est autorisée à se poursuivre, cette fonction affecte à errno la valeur EINVAL et retourne -1. Pour plus d'informations, voir 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 _RPTF appellent _CrtDbgReport, _CrtSetReportMode spécifie la destination de sortie du texte spécifié avec ces macros.
Quand _DEBUG n’est pas défini, les appels à _CrtSetReportMode sont supprimés lors du prétraitement.
Si vous n’appelez _CrtSetReportMode pas pour définir la destination de sortie des messages, les valeurs par défaut suivantes sont en vigueur :
Les erreurs et les échecs d’assertion sont dirigés vers une fenêtre de message de débogage.
Les avertissements émanant des applications Windows sont envoyés à la fenêtre de 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.
| Type de rapport | Description |
|---|---|
_CRT_WARN |
Avertissements, messages et informations qui n’ont pas besoin d’une attention immédiate. |
_CRT_ERROR |
Erreurs, problèmes irrécupérables et problèmes qui requièrent une attention immédiate. |
_CRT_ASSERT |
Échecs d’assertion (expressions déclarées évaluées à FALSE). |
La fonction _CrtSetReportMode assigne le nouveau mode de rapport spécifié dans reportMode au type de rapport spécifié dans reportType et retourne le mode de rapport 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 sous forme d’indicateurs binaires dans Crtdbg.h.
| Mode de rapport | Comportement de _CrtDbgReport |
|---|---|
_CRTDBG_MODE_DEBUG |
Écrit le message dans la fenêtre de sortie du débogueur. |
_CRTDBG_MODE_FILE |
Écrit le message dans un handle de fichier fourni par l’utilisateur. _CrtSetReportFile doit être appelé pour définir le fichier ou le flux spécifique à utiliser comme destination. |
_CRTDBG_MODE_WNDW |
Crée une zone de message pour afficher le message avec les boutons Abandonner, Réessayer et Ignorer . |
_CRTDBG_REPORT_MODE |
Retourne reportMode pour le reportType spécifié :1 _CRTDBG_MODE_FILE2 _CRTDBG_MODE_DEBUG4 _CRTDBG_MODE_WNDW |
Chaque type de rapport peut être signalé à l’aide d’un, deux ou trois modes ou sans aucun mode. 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 envoie les échecs d’assertion à 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, vous pouvez contrôler le mode de création de rapports ou les modes pour chaque type de rapport séparément. Par exemple, il est possible de spécifier qu’une reportType chaîne _CRT_ASSERT de _CRT_WARN débogage de sortie est affichée à l’aide d’une fenêtre de message de débogage et envoyée à stderr, comme illustré précédemment.
Spécifications
| Routine | En-tête requis | En-tête facultatif |
|---|---|---|
_CrtSetReportMode |
<crtdbg.h> |
<errno.h> |
Pour plus d’informations sur la compatibilité, consultez Compatibility.
Bibliothèques : uniquement les versions de débogage des bibliothèques Runtime C.