Hay tres versiones de la biblioteca Allegro: el código normal optimizado, con
soporte extra para depurar, y una versión para medir el rendimiento. Lea los
ficheros readme específicos de cada plataforma para saber cómo instalar y
enlazar con estas versiones alternativas. A pesar de que obviamente querrá
usar la versión optimizada para la versión final de su programa, puede ser
muy útil enlazar con la versión de depuración, porque hará la tarea de
depuración más fácil, y porque incluye aserciones que le ayudarán a encontrar
errores en su código con antelación. Allegro contiene varias funciones para
ayudar en la depuración:
void al_assert(char *file, int line);
Genera una aserción en el fichero en la línea especificada. El parámetro
file debe estar codificado en ASCII. Si ha instalado un controlador propio
de aserciones lo usa, o si la variable de entorno ALLEGRO_ASSERT escribe
un mensaje en el fichero especificado por el entorno, y si no, aborta la
ejecución del programa con un mensaje de error. Normalmente usará la macro
ASSERT() en vez de llamar directamente a esta función.
Relacionado con:
ASSERT,
al_trace,
register_assert_handler.
void al_trace(char *msg, ...);
Muestra un mensaje de depuración usando una cadena con formato printf()
codificada en ASCII. Si ha instalado una función trace propia, será usada,
o si la variable de entorno ALLEGRO_TRACE existe se escribirá en el
fichero especificado por ésta, en caso contrario se escribirá el mensaje
en "allegro.log" en el directorio actual. Normalmente querrá usar la macro
TRACE() en vez de llamar directamente a esta función.
Relacionado con:
TRACE,
al_assert,
register_trace_handler.
void ASSERT(condition);
Macro ayudante de depuración. Normalmente se convierte en nada, pero si ha
definido DEBUGMODE antes de incluir los ficheros de cabecera de Allegro,
comprobará la condición indicada y llamará a al_assert() si ésta falla.
Relacionado con:
al_assert,
TRACE,
register_assert_handler.
void TRACE(char *msg, ...);
register_trace_handler
Macro ayudante de depuración. Normalmente se convierte en nada, pero si ha
definido DEBUGMODE antes de incluir los ficheros de cabecera de Allegro,
pasará el mensaje (que debe estar codificado en ASCII) a al_trace().
Relacionado con:
al_trace,
ASSERT.
void register_assert_handler(int
(*handler)(char *msg));
register_trace_handler
Permite usar una función propia para tratar las aserciones fallidas. A su
función se le pasará un mensaje de error formateado codificado en ASCII, y
deberá devolver distinto de cero si ha procesado el error, o cero para
continuar con las acciones por defecto. Puede usar esto para ignorar
aserciones fallidas, o para mostrar mensajes de error en modo gráfico sin
abortar el programa.
Relacionado con:
al_assert,
ASSERT.
void register_trace_handler(int
(*handler)(char *msg));
register_assert_handler
Permite usar una función propia para tratar los mensajes de trazado. A su
función se le pasará un mensaje de error formateado codificado en ASCII, y
deberá devolver distinto de cero si ha procesado el error, o cero para
continuar con las acciones por defecto. Puede usar esto para ignorar los
mensajes de trazado, para mostrarlos en un monitor monocromo secundario,
etc.
Relacionado con:
al_trace,
TRACE.
Volver al Indice