Servicios de diagnóstico
Fuentes de la biblioteca Microsoft Foundation Class muchos servicios de diagnóstico que crean depurar los programas más fácil.Estos servicios de diagnóstico incluyen las macros y funciones globales que permiten supervisar las asignaciones de memoria del programa, vuelca el contenido de objetos en tiempo de ejecución, e imprime mensajes de depuración en tiempo de ejecución.Las macros y funciones globales para los servicios de diagnóstico se agrupan en las categorías siguientes:
Macros de diagnóstico generales
Funciones y variables generales de diagnóstico
Funciones de diagnóstico de objeto
Estas macros y funciones están disponibles para todas las clases derivadas de CObject en las versiones de depuración y lanzamiento de MFC.Sin embargo, todos a menos que DEBUG_NEW y COMPROBAR no hacen nada en la versión de lanzamiento.
En la biblioteca de depuración, todos los bloques de memoria asignados se acorchetan con una serie de “bytes de restricción”. Si estos bytes son perturbados por una escritura errante de memoria, las rutinas de diagnóstico puede indicar un problema.Si incluye la línea:
#define new DEBUG_NEW
en el archivo de implementación, todas las llamadas a new almacenarán el nombre de archivo y el número de línea donde ocurrió la asignación de memoria.La función CMemoryState::DumpAllObjectsSince mostrará esta información adicional, lo que permite identificar las pérdidas de memoria.Vea también a la clase CDumpContext para obtener más información sobre salida de diagnóstico.
Además, la biblioteca en tiempo de ejecución de C también admite un conjunto de funciones de diagnóstico que se puede utilizar para depurar las aplicaciones.Para obtener más información, vea Rutinas de depuración en la referencia de la biblioteca en tiempo de ejecución.
Macros de diagnóstico generales de MFC
Imprime un mensaje y después cancela el programa si la expresión especificada se evalúa como FALSE en la versión de depuración de la biblioteca. |
|
Pruebas que un objeto es un objeto de la clase especificada o de una clase derivada de la clase especificada. |
|
Comprueba la validez interna de un objeto llamando a la función miembro de AssertValid ; reemplazado normalmente de CObject. |
|
Proporciona el nombre de archivo y el número de línea para todas las asignaciones de objetos en el modo de depuración para ayudar a detectar pérdidas de memoria. |
|
Similar a ASSERT pero no prueba el valor de expresión; útil para el código que si de sólo ejecución en modo de depuración. |
|
Proporciona printf- como capacidad en la versión de depuración de la biblioteca. |
|
Similar a ASSERT pero evalúa la expresión en la versión de lanzamiento de biblioteca así como en la versión de depuración. |
Variables y funciones MFC General Diagnóstico
Variable global que envía la información de CDumpContext a la ventana de salida del depurador o el terminal de depuración. |
|
Variable global que controla el comportamiento del asignador de memoria para depuración. |
|
Variable global utilizada para probar SCODE pasado para ver si es un error y, si es así produce el error correspondiente. |
|
Comprueba la integridad de memoria todo actualmente asignada. |
|
Si se llama mientras en el depurador, volcados el estado de un objeto durante la depuración. |
|
Genere una imagen de la pila actual.Esta función está vinculado siempre estáticamente. |
|
Habilita el volcado de pérdida de memoria. |
|
Gira el seguimiento de la memoria por intervalos. |
|
Comprueba que un bloque de memoria se haya asignado correctamente. |
|
Comprueba que un intervalo de direcciones de memoria esté dentro de los límites del programa. |
|
Determina si un puntero a una cadena es válido. |
|
Habilita la llamada a una función en cada asignación de memoria. |
Funciones de diagnóstico de objetos de MFC
Realiza una función especificada en todo el CObject- las clases derivadas que la comprobación de tipos admiten el tiempo de ejecución. |
|
Realiza una función especificada en todo el CObject- objetos derivados asignados con new. |