Nous recommandons d’utiliser Visual Studio 2017

_RPT, _RPTF, _RPTW, _RPTFW, macros

 

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

Progression d’une application en générant un rapport de débogage (version debug uniquement). Notez que n Spécifie le nombre d’arguments dans args et peut être 0, 1, 2, 3, 4 ou 5.

  
      _RPT  
      n  
      (  
   reportType,  
   format,  
...[args]  
);  
_RPTFn(  
   reportType,  
   format,  
   [args]  
);  
_RPTWn(  
   reportType,  
   format   
   [args]  
);  
_RPTFWn(  
   reportType,  
   format   
   [args]  
);  

Paramètres

reportType
Report type: _CRT_WARN, _CRT_ERROR, or _CRT_ASSERT.

format
Chaîne de contrôle de format utilisée pour créer le message utilisateur.

args
Arguments de substitution utilisés par format.

Toutes ces macros prennent le reportTypeet formatparamètres. En outre, il peuvent également prendre jusqu'à quatre arguments supplémentaires, signalés par le nombre ajouté au nom de macro. Par exemple, _RPT0 et _RPTF0 prennent pas d’arguments supplémentaires _RPT1 et _RPTF1 prendre arg1, _RPT2 et _RPTF2 prendre arg1 et arg2, et ainsi de suite.

Le _RPT et _RPTF macros sont similaires à la printf fonctionner, car ils peuvent être utilisés pour suivre la progression de l’application pendant le processus de débogage. Toutefois, ces macros sont plus souples que printf , car ils n’avez pas besoin d’être mises entre #ifdef les instructions pour les empêcher d’être appelées dans une version commerciale d’une application. Cette souplesse est obtenue à l’aide de la _DEBUG macro ; le _RPT et _RPTF macros sont disponibles uniquement quand le _DEBUG indicateur est défini. Quand _DEBUG n’est pas définie, les appels à ces macros sont supprimés lors du prétraitement.

Le _RPTW et _RPTFW les macros sont des versions à caractères larges de ces macros. Ils sont similaires wprintf et prennent des chaînes de caractères larges en tant qu’arguments.

Le _RPT macros appel la _CrtDbgReport fonction permettant de générer un rapport de débogage avec un message de l’utilisateur. Le _RPTW macros appel du _CrtDbgReportW fonction permettant de générer le même rapport avec des caractères étendus. Le _RPTF et _RPTFW macros créent un rapport de débogage avec le nombre de fichiers et de la ligne source où la macro de rapport a été appelée, par ailleurs dans le message de l’utilisateur. Le message utilisateur est créé en substituant le arg[n] arguments dans les format de chaîne, à l’aide des mêmes règles définies par le printf (fonction).

_CrtDbgReportou _CrtDbgReportW génère le rapport de débogage et détermine sa destinations en fonction des modes de rapport actuel et le fichier défini pour reportType. Les fonctions _CrtSetReportMode et _CrtSetReportFile servent à définir les destinations de chaque type de rapport.

Si un _RPT macro est appelée et que ni _CrtSetReportMode ni _CrtSetReportFile a été appelée, les messages sont affichés comme suit.

Type de rapportDestination de sortie
_CRT_WARNTexte d’avertissement n’est pas affichée.
_CRT_ERRORUne fenêtre contextuelle. Même comme si _CrtSetReportMode(_CRT_ERROR, _CRTDBG_MODE_WNDW); avait été spécifié.
_CRT_ASSERTComme pour _CRT_ERROR.

Lorsque la destination est une fenêtre de message de débogage et que l’utilisateur choisit le réessayer bouton, _CrtDbgReport ou _CrtDbgReportW renvoie la valeur 1, à l’origine de ces macros, pour démarrer le débogueur, sous réserve que le débogage juste-à-temps (JIT) est activé. Pour plus d’informations sur l’utilisation de ces macros comme un mécanisme de gestion des erreurs de débogage, consultez à l’aide de Macros pour la vérification et de création de rapports.

Les deux autres macros existent et générer un rapport de débogage. Le _ASSERT macro génère un rapport, mais uniquement lorsque l’argument expression a la valeur FALSE. _ASSERTE est exactement comme _ASSERT, mais inclut l’expression qui a échoué dans le rapport généré.

MacroEn-tête requis
_RPTmacros<crtdbg.h>
_RPTFmacros<crtdbg.h>
_RPTWmacros<crtdbg.h>
_RPTFWmacros<crtdbg.h>

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

Les versions Debug de les bibliothèques Runtime C uniquement.

Bien que ces macros sont et sont obtenus en incluant Crtdbg.h, l’application doit être liée à une des bibliothèques de débogage parce que ces macros appellent d’autres fonctions de l’exécution.

Consultez l’exemple dans le _ASSERT rubrique.

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: