Nous recommandons d’utiliser Visual Studio 2017

_CrtSetReportFile

 

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

Après avoir utilisé _CrtSetReportMode pour spécifier _CRTDBG_MODE_FILE, vous pouvez spécifier le handle de fichier pour recevoir le texte du message. _CrtSetReportFileest également utilisé par _CrtDbgReport, _CrtDbgReportW pour spécifier la destination du texte (version debug uniquement).

_HFILE _CrtSetReportFile(   
   int reportType,  
   _HFILE reportFile   
);  

Paramètres

reportType
Type de rapport : _CRT_WARN, _CRT_ERROR et _CRT_ASSERT.

reportFile
Nouveau fichier de rapport pour reportType.

Opération réussie, _CrtSetReportFile renvoie le précédent fichier de rapport défini pour le type de rapport spécifié dans reportType. Si une valeur non valide est passée pour reportType, cette fonction 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, errno a la valeur EINVAL et la fonction retourne une valeur _CRTDBG_HFILE_ERROR. Pour plus d’informations, consultez errno, _doserrno, _sys_errlist et _sys_nerr.

_CrtSetReportFileest utilisé avec le _CrtSetReportMode fonction pour définir l’ou les destinations d’un type spécifique généré par _CrtDbgReport. Lors de la _CrtSetReportMode a été appelée pour affecter la _CRTDBG_MODE_FILE d’un type spécifique, le mode de création de rapports _CrtSetReportFile doit ensuite être appelé pour définir le fichier spécifique ou un flux à utiliser comme destination. Lors de la _DEBUG n’est pas défini, les appels à _CrtSetReportFile sont supprimés lors du prétraitement.

Le tableau suivant répertorie les options disponibles pour reportFile et le comportement résultant de _CrtDbgReport. Ces options sont définies en tant qu’indicateurs binaires dans Crtdbg.h.

file handle
Handle vers le fichier qui sera la destination des messages. Aucune tentative est effectuée pour vérifier la validité du handle. Vous devez ouvrir et fermer le handle de fichier. Exemple :

HANDLE hLogFile;  
hLogFile = CreateFile("c:\\log.txt", GENERIC_WRITE,   
   FILE_SHARE_WRITE, NULL, CREATE_ALWAYS,   
   FILE_ATTRIBUTE_NORMAL, NULL);  
_CrtSetReportMode(_CRT_WARN, _CRTDBG_MODE_FILE);  
_CrtSetReportFile(_CRT_WARN, hLogFile);  
  
_RPT0(_CRT_WARN,"file message\n");  
CloseHandle(hLogFile);  

_CRTDBG_FILE_STDERR
Écrit un message stderr, qui peut être redirigé comme suit :

freopen( "c:\\log2.txt", "w", stderr);  
_CrtSetReportMode(_CRT_ERROR, _CRTDBG_MODE_FILE);  
_CrtSetReportFile(_CRT_ERROR, _CRTDBG_FILE_STDERR);  
  
_RPT0(_CRT_ERROR,"1st message\n");  

_CRTDBG_FILE_STDOUT
Écrit un message stdout, que vous pouvez rediriger.

_CRTDBG_REPORT_FILE
Renvoie le mode de rapport actuel.

Le fichier de rapport utilisé par chaque type de rapport peut être contrôlé séparément. Par exemple, il est possible de spécifier qu’un reportType de _CRT_ERROR doivent être consignés dans stderr, pendant un reportType de _CRT_ASSERT doivent être consignés dans un handle de fichier défini par l’utilisateur ou un flux.

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

La console n'est pas prise en charge dans les applications Windows 8.x Store . Les handles de flux standard associés à la console (stdin, stdout et stderr) doivent être redirigés pour que les fonctions Runtime C puissent les utiliser dans les applications du Windows 8.x Store. Pour plus d’informations sur la compatibilité, consultez Compatibility.

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: