_CrtSetReportMode
Especifica el destino o los destinos de un tipo de informe específico generado por _CrtDbgReport
y las macros que llaman a_CrtDbgReport
,_CrtDbgReportW
, _ASSERT
como , macros _ASSERT_EXPR
_ASSERTE
y _RPT
, _RPTF
, , , _RPTW
macros _RPTFW
(solo versión de depuración).
Sintaxis
int _CrtSetReportMode(
int reportType,
int reportMode
);
Parámetros
reportType
Tipo de informe: _CRT_WARN
, _CRT_ERROR
y _CRT_ASSERT
.
reportMode
Nuevo modo de informe para reportType
.
Valor devuelto
Cuando se finaliza correctamente, _CrtSetReportMode
devuelve el modo de informe anterior para el tipo de informe especificado en reportType
. Si se pasa un valor no válido como reportType
o se especifica un modo no válido para reportMode
, _CrtSetReportMode
invoca al controlador de parámetros no válidos como se describe en Validación de parámetros. Si la ejecución puede continuar, esta función establece errno
en EINVAL
y devuelve -1. Para obtener más información, veaerrno
, _doserrno
, _sys_errlist
y _sys_nerr
.
Comentarios
_CrtSetReportMode
especifica el destino de salida para _CrtDbgReport
. Dado que las macros _ASSERT
, _ASSERTE
, _RPT
y _RPTF
llaman a _CrtDbgReport
, _CrtSetReportMode
especifica el destino de salida de texto especificado con las macros.
Cuando _DEBUG
no se define, las llamadas a _CrtSetReportMode
se quitan durante el preprocesamiento.
Si no llama _CrtSetReportMode
a para definir el destino de salida de los mensajes, los valores predeterminados siguientes están en vigor:
Los errores de aserción y los demás errores se dirigen a una ventana de mensajes de depuración.
Las advertencias de las aplicaciones se Windows se envían a la ventana de salida del depurador.
No se muestran advertencias de las aplicaciones de consola.
En la tabla siguiente se enumeran los tipos de informe definidos en Crtdbg.h
.
Tipo de informe | Descripción |
---|---|
_CRT_WARN |
Advertencias, mensajes e información que no necesitan atención inmediata. |
_CRT_ERROR |
Errores, problemas irrecuperables y problemas que requieren atención inmediata. |
_CRT_ASSERT |
Errores de aserción (expresiones declaradas que se evalúan como FALSE ). |
La función _CrtSetReportMode
asigna el nuevo modo de informe especificado en reportMode
al tipo de informe especificado en reportType
y devuelve el modo de informe previamente definido para reportType
. En la tabla siguiente se enumeran las opciones disponibles para reportMode
y el comportamiento resultante de _CrtDbgReport
. Estas opciones se definen como marcas de bits en Crtdbg.h.
Modo de informe | Comportamiento de _CrtDbgReport |
---|---|
_CRTDBG_MODE_DEBUG |
Escribe el mensaje en la ventana de salida del depurador. |
_CRTDBG_MODE_FILE |
Escribe el mensaje en un identificador de archivos proporcionado por el usuario. Es necesario llamar a _CrtSetReportFile para definir el archivo o flujo concreto que se debe usar como destino. |
_CRTDBG_MODE_WNDW |
Crea un cuadro de mensaje para mostrar el mensaje junto con los botones Anular, Reintentar e Omitir . |
_CRTDBG_REPORT_MODE |
Devuelve reportMode correspondiente al objeto reportType especificado:1 _CRTDBG_MODE_FILE 2 _CRTDBG_MODE_DEBUG 4 _CRTDBG_MODE_WNDW |
Cada tipo de informe se puede designar mediante uno, dos o tres modos, o sin ningún modo. Por lo tanto, es posible tener más de un destino definido para un solo tipo de informe. Por ejemplo, el fragmento de código siguiente hace que se envíen errores de aserción a una ventana de mensajes de depuración y a stderr
:
_CrtSetReportMode( _CRT_ASSERT, _CRTDBG_MODE_FILE | _CRTDBG_MODE_WNDW );
_CrtSetReportFile( _CRT_ASSERT, _CRTDBG_FILE_STDERR );
Además, puede controlar el modo de informe o los modos de cada tipo de informe por separado. Por ejemplo, es posible especificar que un reportType
de _CRT_WARN
va a una cadena de depuración de salida, mientras _CRT_ASSERT
se muestra mediante una ventana de mensaje de depuración y se envía a stderr
, como se muestra anteriormente.
Requisitos
Routine | Encabezado necesario | Encabezado opcional |
---|---|---|
_CrtSetReportMode |
<crtdbg.h> |
<errno.h> |
Para obtener más información sobre compatibilidad, consulte Compatibilidad.
Bibliotecas: solo versiones de depuración de las bibliotecas en tiempo de ejecución de C.