_CrtSetReportFile

 

Para obtener la documentación más reciente de Visual Studio 2017 RC, consulte Documentación de Visual Studio 2017 RC.

Después de usar _CrtSetReportMode especificar _CRTDBG_MODE_FILE, puede especificar el identificador de archivo para recibir el texto del mensaje. _CrtSetReportFileTambién se usa por _CrtDbgReport, _CrtDbgReportW para especificar el destino de texto (sólo la versión de depuración).

_HFILE _CrtSetReportFile(   
   int reportType,  
   _HFILE reportFile   
);  

Parámetros

reportType
Tipo de informe: _CRT_WARN, _CRT_ERROR y _CRT_ASSERT.

reportFile
Nuevo archivo de informe para reportType.

Cuando la operación finaliza correctamente, _CrtSetReportFile devuelve el archivo de informe anterior definido para el tipo de informe especificado en reportType. Si se pasa un valor no válido para reportType, esta función invoca el controlador de parámetros no válidos, como se describe en validación del parámetro. Si la ejecución puede continuar, errno se establece en EINVAL y la función devuelve _CRTDBG_HFILE_ERROR. Para obtener más información, consulte errno, _doserrno, _sys_errlist y _sys_nerr.

_CrtSetReportFilese utiliza con la _CrtSetReportMode función para definir el destino o destinos de un tipo de informe específico generado por _CrtDbgReport. Cuando se ha llamado a _CrtSetReportMode para asignar el modo de creación de informes _CRTDBG_MODE_FILE a un tipo específico de informe, se debe llamar a _CrtSetReportFile para definir el archivo o flujo concreto que se va a usar como destino. Cuando _DEBUG no está definido, las llamadas a _CrtSetReportFile se quitan durante el preprocesamiento.

En la tabla siguiente se enumeran las opciones disponibles para reportFile y el comportamiento resultante de _CrtDbgReport. Estas opciones se definen como marcas de bits en Crtdbg.h.

file handle
Identificador del archivo que será el destino de los mensajes. No se intenta comprobar la validez del identificador. Es necesario abrir y cerrar el identificador del archivo. Por ejemplo:

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
Escribe el mensaje en stderr, que se pueden redirigir como se indica a continuación:

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
Escribe el mensaje en stdout, que puede redirigir.

_CRTDBG_REPORT_FILE
Devuelve el modo de creación de informes actual.

El archivo de informe utilizado por cada tipo de informe se puede controlar por separado. Por ejemplo, se puede especificar que el destino del parámetro reportType de _CRT_ERROR sea stderr, mientras que el destino del parámetro reportType de _CRT_ASSERT sea un identificador de archivo o un flujo definido por el usuario.

RutinaEncabezado necesarioEncabezado opcional
_CrtSetReportFile<crtdbg.h><errno.h>

La consola no se admite en las aplicaciones de Tienda Windows 8.x. Se deben redirigir los identificadores estándar de flujo que están asociados a la consola, stdin, stdout y stderr, antes de que las funciones en tiempo de ejecución de C puedan usarlos en aplicaciones de Tienda Windows 8.x. Para obtener más información sobre compatibilidad, vea Compatibility.

Bibliotecas: versiones de depuración de características de la biblioteca CRT solo.

No es aplicable. Para llamar a la función estándar de C, use PInvoke. Para obtener más información, vea Ejemplos de invocación de plataforma.

Rutinas de depuración

Mostrar: