Funciones de enlace de informe
Actualización: noviembre 2007
Este tema es aplicable a:
Edición |
Visual Basic |
C# |
C++ |
Web Developer |
---|---|---|---|---|
Express |
Sólo para código nativo |
|||
Standard |
Sólo para código nativo |
|||
Pro y Team |
Sólo para código nativo |
Leyenda de la tabla:
Se aplica |
|
No procede |
|
Comando o comandos ocultos de manera predeterminada. |
Una función de enlace de informe, instalada mediante _CrtSetReportHook, recibe una llamada cada vez que _CrtDbgReportgenera un informe de depuración. Se puede utilizar, entre otras cosas, para filtrar informes que se concentran en determinados tipos de asignaciones. Una función de enlace de informe debería tener un prototipo como el siguiente:
int YourReportHook(int nRptType, char *szMsg, int *retVal);
El puntero que se pasa a _CrtSetReportHook es del tipo _CRT_REPORT_HOOK, según se define en CRTDBG.H:
typedef int (__cdecl *_CRT_REPORT_HOOK)(int, char *, int *);
Cuando la biblioteca en tiempo de ejecución llama a la función de enlace, el argumento nRptType contiene la categoría del informe (_CRT_WARN, _CRT_ERROR, o _CRT_ASSERT), szMsg contiene un puntero a una cadena de mensaje de informe completamente ensamblada y retVal especifica si _CrtDbgReport debería continuar con la ejecución normal después de generar el informe o bien iniciar el depurador. Un valor cero en retVal permite continuar la ejecución, un valor 1 inicia el depurador.
Si el enlace se encarga de procesar completamente el mensaje en cuestión, de forma que no se requiera ningún informe posterior, debería devolver TRUE. Si devuelve FALSE, _CrtDbgReport informará del mensaje como es habitual.
Vea también
Tareas
Ejemplo crt_dbg2: funciones de enlace de depuración de las bibliotecas en tiempo de ejecución de C