Personalización de las comprobaciones nativas en tiempo de ejecución
Cuando se compila con la opción /RTC (comprobaciones en tiempo de ejecución) o se usa el pragma runtime_checks
, la biblioteca en tiempo de ejecución de C proporciona comprobaciones nativas en tiempo de ejecución. En algunos casos puede ser conveniente personalizar las comprobaciones en tiempo de ejecución:
Para enviar los mensajes de comprobación en tiempo de ejecución a un archivo o a un destino distinto del predeterminado.
Para especificar un destino de salida para los mensajes de comprobación en tiempo de ejecución en un depurador de otro proveedor.
Para generar mensajes de comprobación en tiempo de ejecución desde un programa compilado con una versión de distribución de la biblioteca en tiempo de ejecución de C. Las versiones de distribución de la biblioteca no utilizan
_CrtDbgReportW
para generar informes de errores en tiempo de ejecución. En su lugar, abren un cuadro de diálogo Aserción para cada error en tiempo de ejecución.Para personalizar la comprobación de errores en tiempo de ejecución, puede:
Escriba una función que crea un informe de error en tiempo de ejecución. Para obtener más información, vea Cómo: Escritura de una función para generar informes de errores en tiempo de ejecución.
Personalizar el destino del mensaje de error.
Consultar información sobre los errores de comprobación en tiempo de ejecución.
Personalizar el destino de los mensajes de error
Si utiliza _CrtDbgReportW
para generar informes de errores, puede usar _CrtSetReportMode
para especificar el destino de los mensajes de error.
Si usa una función de generación de informes personalizada, utilice _RTC_SetErrorType
para asociar un error a un tipo de informe.
Consultar información acerca de las comprobaciones en tiempo de ejecución
_RTC_NumErrors
devuelve el número de tipos de errores detectados por las comprobaciones de errores en tiempo de ejecución. Para obtener una breve descripción de cada error, puede recorrer con un bucle desde 0 al valor devuelto _RTC_NumErrors
, pasando el valor de la iteración a _RTC_GetErrDesc
en cada bucle. Para más información, vea _RTC_NumErrors y _RTC_GetErrDesc.